UNIX in a Nutshell: System V Edition

UNIX in a Nutshell: System V EditionSearch this book
Previous: Reference: gprofChapter 2
Unix Commands
Next: Reference: groups
 

grep

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.

Options

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

Examples

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


Previous: Reference: gprofUNIX in a Nutshell: System V EditionNext: Reference: groups
Reference: gprofBook IndexReference: groups

The UNIX CD Bookshelf NavigationThe UNIX CD BookshelfUNIX Power ToolsUNIX in a NutshellLearning the vi Editorsed & awkLearning the Korn ShellLearning the UNIX Operating System