xref: /plan9-contrib/sys/man/1/grep (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
GREP 1
NAME
grep - search a file for a pattern
SYNOPSIS
grep [ option ... ] pattern [ file ... ]
DESCRIPTION
Grep\^ searches the input files\^ (standard input default) for lines (with newlines excluded) that match the pattern , a regular expression as defined in regexp (6). 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.

0

-h Do not print file name tags (headers) with output lines.

-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.

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 $*[^|()=\e and newline in pattern ; it is safest to enclose the entire expression in single quotes \|' \|.\|.\|.\| ' .

SOURCE
/sys/src/cmd/grep.c
SEE ALSO
ed (1), awk (1), sed (1), sam (1), regexp (6)
DIAGNOSTICS
Exit status is null if any lines are selected, or non-null when no lines are selected or an error occurs.