grep(1): Add more EXAMPLES

* Add more EXAMPLES covering flags: -A, -B, -c, -f, -i, -H, -l, -q, -R, -w
* While here, change existing wording to use the imperative (remove "To
  find")
* Reword first example to be consistent with how grep(1) understand
  words (-w)

Approved by:	manpages (bcr@)
Differential Revision:		https://reviews.freebsd.org/D27264
This commit is contained in:
Fernando Apesteguía 2020-11-19 18:58:15 +00:00
parent a33fef5e25
commit 5be3f744b4

View File

@ -30,7 +30,7 @@
.\" .\"
.\" @(#)grep.1 8.3 (Berkeley) 4/18/94 .\" @(#)grep.1 8.3 (Berkeley) 4/18/94
.\" .\"
.Dd August 7, 2020 .Dd November 19, 2020
.Dt GREP 1 .Dt GREP 1
.Os .Os
.Sh NAME .Sh NAME
@ -456,13 +456,27 @@ An error occurred.
.Sh EXAMPLES .Sh EXAMPLES
.Bl -dash .Bl -dash
.It .It
To find all occurrences of the word Find all occurrences of the pattern
.Sq patricia .Sq patricia
in a file: in a file:
.Pp .Pp
.Dl $ grep 'patricia' myfile .Dl $ grep 'patricia' myfile
.It .It
To find all occurrences of the pattern Same as above but looking only for complete words:
.Pp
.Dl $ grep -w 'patricia' myfile
.It
Count occurrences of the exact pattern
.Sq FOO
:
.Pp
.Dl $ grep -c FOO myfile
.It
Same as above but ignoring case:
.Pp
.Dl $ grep -c -i FOO myfile
.It
Find all occurrences of the pattern
.Ql .Pp .Ql .Pp
at the beginning of a line: at the beginning of a line:
.Pp .Pp
@ -480,20 +494,55 @@ escapes the
.Ql \&. , .Ql \&. ,
which would otherwise match any character. which would otherwise match any character.
.It .It
To find all lines in a file which do not contain the words Find all lines in a file which do not contain the words
.Sq foo .Sq foo
or or
.Sq bar : .Sq bar :
.Pp .Pp
.Dl $ grep -v -e 'foo' -e 'bar' myfile .Dl $ grep -v -e 'foo' -e 'bar' myfile
.It .It
A simple example of an extended regular expression: Peruse the file
.Sq calendar
looking for either 19, 20, or 25 using extended regular expressions:
.Pp .Pp
.Dl $ egrep '19|20|25' calendar .Dl $ egrep '19|20|25' calendar
.It
Show matching lines and the name of the
.Sq *.h
files which contain the pattern
.Sq FIXME .
Do the search recursively from the
.Pa /usr/src/sys/arm
directory
.Pp .Pp
Peruses the file .Dl $ grep -H -R FIXME --include=*.h /usr/src/sys/arm/
.Sq calendar .It
looking for either 19, 20, or 25. Same as above but show only the name of the matching file:
.Pp
.Dl $ grep -l -R FIXME --include=*.h /usr/src/sys/arm/
.It
Show lines containing the text
.Sq foo .
The matching part of the output is colored and every line is prefixed with
the line number and the offset in the file for those lines that matched.
.Pp
.Dl $ grep -b --colour -n foo myfile
.It
Show lines that match the extended regular expression patterns read from the
standard input:
.Pp
.Dl $ echo -e 'Free\enBSD\enAll.*reserved' | grep -E -f - myfile
.It
Show lines from the output of the
.Xr pciconf 8
command matching the specified extended regular expression along with
three lines of leading context and one line of trailing context:
.Pp
.Dl $ pciconf -lv | grep -B3 -A1 -E 'class.*=.*storage'
.It
Suppress any output and use the exit status to show an appropriate message:
.Pp
.Dl $ grep -q foo myfile && echo File matches
.El .El
.Sh SEE ALSO .Sh SEE ALSO
.Xr ed 1 , .Xr ed 1 ,