egrep(1) CLIX egrep(1)
NAME
egrep - Searches a file for a pattern using full regular expressions
SYNOPSIS
egrep [flag ... ] full_regexp [file ... ]
FLAGS
-b Precedes each line by the block number on which it was found. This
can be useful in locating block numbers by context (first block is
0).
-c Displays only a count of the lines that contain the pattern.
-i Ignores upper/lowercase distinction during comparisons.
-l Displays the names of files with matching lines once, separated by
newlines. Does not repeat the names of files when the pattern is
found more than once.
-n Precedes each line by its line number in the file (first line is
1).
-v Displays all lines except those that contain the pattern.
-e special_expression
Searches for a special_expression (full_regexp that begins with a
-).
-f file
Takes the list of full_regexps from file.
DESCRIPTION
The egrep command (expression grep) searches files for a pattern of
characters and displays all lines that contain the pattern. This command
uses full regular expressions (expressions that have string values that
use the full set of alphanumeric and special characters) to match the
patterns. It uses a fast deterministic algorithm that sometimes needs
exponential space.
The egrep command accepts full regular expressions as in ed, except for \(
and \), with the addition of:
⊕ A full regular expression followed by + that matches one or more
occurrences of the full regular expression.
⊕ A full regular expression followed by ? that matches 0 or 1 occurrences
of the full regular expression.
2/94 - Intergraph Corporation 1
egrep(1) CLIX egrep(1)
⊕ Full regular expressions separated by | or by a newline that match
strings that are matched by any of the expressions.
⊕ A full regular expression that can be enclosed in parentheses () for
grouping.
Be careful using the characters $, *, [, ^, |, (, ), and \ in
full_regexps, because they are also meaningful to the shell. It is safest
to enclose the entire full_regexp in single quotes '...'.
The order of precedence of operators is [], then *?+, then concatenation,
then | and newline.
If no files are specified, egrep assumes stdin. Normally, each line found
is copied to stdout. The filename is displayed before each line found if
there is more than one input file.
EXAMPLES
1. To display all lines matching the regular expression ``hello'' in the
foo file:
egrep 'hello' foo
2. To display a count of all lines that do not contain the expression
``hello'', using a case-insensitive search:
egrep -civ 'hello' foo
3. The following command displays the lines and line numbers, including
block numbers, that contain the pattern ``-hello'' in the foo file.
egrep -b -n -e '-hello' foo
4. The following command lists the filenames of all the files in the
current directory that contain the pattern in the file pfile.
egrep -l -f pfile *
NOTES
Ideally there should be only one grep command, but there is not a single
algorithm that spans a wide enough range of space-time tradeoffs. Lines
are limited to BUFSIZ characters; longer lines are truncated. BUFSIZ is
defined in /usr/include/stdio.h.
DIAGNOSTICS
2 Intergraph Corporation - 2/94
egrep(1) CLIX egrep(1)
egrep: can't open file
A file given on the command line could not be opened or does not
exist.
egrep: syntax error
The regexp given to egrep did not use correct syntax.
egrep: regular expression too long
The regexp exceeded the buffer space.
EXIT VALUES
Exit status is 0 if any matches are found, 1 if none, and 2 for syntax
errors or inaccessible files (even if matches were found).
RELATED INFORMATION
Commands: ed(1), fgrep(1), grep(1), sed(1), sh(1)
2/94 - Intergraph Corporation 3