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 are
- -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 the lines.
- -L
- Print the names of files with no selected lines; the
converse of -l.
- -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 is discovered.
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 name argument.)
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
/src/cmd/grep
/bin/g
ed(1),
awk(1),
sed(1),
sam(1),
regexp(7)
Exit status is null if any lines are selected, or non-null when no lines are
selected or an error occurs.