Amiga Unix — 68040 · 68060

Manual pages › General commands (1)

egrep-original(1)

search a file for a pattern using full regular expressions

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

With the grep package (with the extra set), see egrep(1) instead.

NAME

egrep - search a file for a pattern using full regular expressions

SYNOPSIS

egrep [options] full regular expression [file ...]

DESCRIPTION

egrep (expression grep) searches files for a pattern of characters and prints all lines that contain that pattern. egrep 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.

egrep accepts full regular expressions as in ed(1), except for \( and \), with the addition of:

1.    A full regular expression followed by +  that  matches
      one  or  more  occurrences of the full regular expres-
      sion.
2.    A full regular expression followed by ?  that  matches
      0 or 1 occurrences of the full regular expression.
3.    Full regular expressions separated by | or by  a  new-
      line that match strings that are matched by any of the
      expressions.
4.    A full regular expression  that  may  be  enclosed  in
      parentheses () for grouping.

Be careful using the characters $, *, [, ^, |, (, ),  and  \
in full regular expression, because they are also meaningful
to the shell.  It is safest to enclose the entire full regu-
lar expression in single quotes '...'.

The order of precedence of operators is [], then  *?+,  then
concatenation, then | and new-line.

If no files are specified, egrep assumes standard input. Normally, each line found is copied to the standard output. The file name is printed before each line found if there is more than one input file.

Command line options are:

-b    Precede 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    Print only a count of the lines that contain the  pat-
      tern.
-i    Ignore upper/lower case distinction  during  comparis-
      ons.

-h    Suppress printing of filenames when searching multiple
      files.
-l    Print the names of files  with  matching  lines  once,
      separated  by new-lines.  Does not repeat the names of
      files when the pattern is found more than once.
-n    Precede each line by  its  line  number  in  the  file
      (first line is 1).
-v    Print all lines except those that contain the pattern.
-e special_expression
      Search for a special expression (full regular  expres-
      sion that begins with a -).
-f file
      Take the list of full regular expressions from file.

SEE ALSO

ed(1), fgrep(1), grep(1), sed(1), sh(1).

DIAGNOSTICS

Exit status is 0 if any matches are found, 1 if none, 2 for syntax errors or inaccessible files (even if matches were found).

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.