grep
[
options
]
regexp
[
files
]
Search one or more files
for lines that match a regular expression regexp
. Regular expressions are described in Chapter 6
. Exit status is 0 if any lines match, 1 if not, and 2 for errors. See also egrep
and fgrep
.
-b
Precede each line with its block number. (Not terribly useful.)
-c
Print only a count of matched lines.
-e
pat
Use this if pat
begins with -
. Solaris: this option is only available in /usr/xpg4/bin/grep
, not /usr/bin/grep
. It is common, though, on many modern Unix systems.
-h
Print matched lines but not filenames (inverse of -l
).
-i
Ignore uppercase and lowercase distinctions.
-l
List filenames but not matched lines.
-n
Print lines and their line numbers.
-s
Suppress error messages for nonexistent or unreadable files.
-v
Print all lines that don't
match regexp
.
-w
Restrict regexp
to matching a whole word (like using \<
and \>
in vi
). Not on SVR4, but common on many commercial Unix systems.
List the number of users who use the C shell:
grep -c /bin/csh /etc/passwd
List header files that have at least one #include
directive:
grep -l '^#include' /usr/include/*
List files that don't contain pattern
:
grep -c
pattern
files
| grep :0