Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ egrep(1) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ed(1)

fgrep(1)

grep(1)

sed(1)

sh(1)



     EGREP(1)                                                 EGREP(1)



     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
                expression.
          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
          regular 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
                pattern.
          -i    Ignore upper/lower case distinction during
                comparisons.



     Page 1                                        (last mod. 8/20/87)





     EGREP(1)                                                 EGREP(1)



          -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).
          -s    Silent mode.  No pattern matches or error messages are
                printed.  This option allows command expressions to
                check egrep's exit status without having to deal with
                output.
          -v    Print all lines except those that contain the pattern.
          -e special_expression
                Search for a special expression (full regular
                expression 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).

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

     ORIGIN
          AT&T V.3






















     Page 2                                        (last mod. 8/20/87)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026