commit f6552e36691c27c147aaafe3be9eb6011eef728f
parent 7b8d7fb78edc79a99f0c2a67b5a8ca725ec56424
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 16 Nov 2014 20:03:25 +0100
grep: add -h (inverse of -H) aswell
Diffstat:
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/grep.1 b/grep.1
@@ -3,7 +3,7 @@
grep \- search files for a pattern
.SH SYNOPSIS
.B grep
-.RB [ \-EHcilnqv ]
+.RB [ \-EHchilnqv ]
.RB [ \-e
.I pattern ]
.I pattern
@@ -38,6 +38,9 @@ This option is most useful when multiple -e options are used to
specify multiple patterns, or when a pattern begins with a dash
(`-').
.TP
+.B \-h
+do not prefix each line with 'filename:' prefix.
+.TP
.B \-i
matches lines case insensitively.
.TP
diff --git a/grep.c b/grep.c
@@ -16,6 +16,7 @@ static int grep(FILE *, const char *);
static int eflag = 0;
static int vflag = 0;
+static int hflag = 0;
static int Hflag = 0;
static int many;
static char mode = 0;
@@ -54,6 +55,9 @@ main(int argc, char *argv[])
addpattern(EARGF(usage()));
eflag = 1;
break;
+ case 'h':
+ hflag = 1;
+ break;
case 'c':
case 'l':
case 'n':
@@ -145,7 +149,7 @@ grep(FILE *fp, const char *str)
case 'q':
exit(Match);
default:
- if (many || Hflag)
+ if (!hflag && (many || Hflag))
printf("%s:", str);
if (mode == 'n')
printf("%ld:", n);