From f6552e36691c27c147aaafe3be9eb6011eef728f Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Sun, 16 Nov 2014 20:03:25 +0100 Subject: [PATCH] grep: add -h (inverse of -H) aswell --- grep.1 | 5 ++++- grep.c | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/grep.1 b/grep.1 index 8fad4e5..9a593ad 100644 --- 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 index 6c6215d..b2bf051 100644 --- 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);