grep, g – search a file for a pattern|
grep [ option ... ] pattern [ file ... ]
g [ option ... ] pattern [ file ... ]|
Grep searches the input files (standard input default) for lines
that match the pattern, a regular expression as defined in regexp(7)
with the addition of a newline character as an alternative (substitute
for |) with lowest precedence. Normally, each line matching the
pattern is ‘selected’, and each selected line is copied to the
standard output. The options
−c Print only a count of matching lines.
−h Do not print file name tags (headers) with output lines.
−e The following argument is taken as a pattern. This option makes
it easy to specify patterns that might confuse argument parsing,
such as −n.
−i Ignore alphabetic case distinctions. The implementation folds
into lower case all letters in the pattern and input before interpretation.
Matched lines are printed in their original form.
−l (ell) Print the names of files with selected lines; don’t print
−L Print the names of files with no selected lines; the converse
−n Mark each printed line with its line number counted in its file.
−s Produce no output, but return status.
−v Reverse: print lines that do not match the pattern.
−f The pattern argument is the name of a file containing regular
expressions one per line.
−b Don’t buffer the output: write each output line as soon as it
Output lines are tagged by file name when there is more than one
input file. (To force this tagging, include /dev/null as a file
Care should be taken when using the shell metacharacters $*[^|()=\
and newline in pattern; it is safest to enclose the entire expression
in single quotes '...'. An expression starting with ’*’ will treat
the rest of the expression as literal characters.
G invokes grep with −n and forces tagging of output lines by file
name. If no files are listed, it searches all files matching
*.C *.b *.c *.h *.m *.cc *.java *.cgi *.pl *.py *.tex *.ms|
Exit status is null if any lines are selected, or non-null when
no lines are selected or an error occurs.|