sbase

suckless unix tools
git clone git://git.2f30.org/sbase
Log | Files | Refs | README | LICENSE

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:
Mgrep.1 | 5++++-
Mgrep.c | 6+++++-
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);