table of contents
| GREP(1plan9) | GREP(1plan9) | 
NAME¶
grep, g - search a file for a pattern
SYNOPSIS¶
grep [ option ... ] pattern [ file ... ]
g [ option ... ] pattern [ file ... ]
DESCRIPTION¶
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 
SOURCE¶
/src/cmd/grep
  
  /bin/g
SEE ALSO¶
DIAGNOSTICS¶
Exit status is null if any lines are selected, or non-null when no lines are selected or an error occurs.