egrep - search a file for a pattern using full regular
  expressions
/usr/5bin/egrep
    [-e pattern_list ...]
    [-f pattern_file] [-bchilnrRvz]
    [pattern_list] [file ...]
/usr/5bin/posix/egrep
    -e pattern_list ...
    [-f pattern_file] [-c|-l|-q]
    [-bhinrRsvxz] [file ...]
/usr/5bin/posix/egrep
    -f pattern_file
    [-e pattern_list ...]
    [-c|-l|-q] [-bhinrRsvxz]
    [file ...]
/usr/5bin/posix/egrep [-c|-l|-q]
    [-bhinsrRvxz] pattern_list [file ...]
  
The egrep command searches the lines of the specified files
    (or of standard input) for occurrences of pattern. The default
    behavior is to print each matching line to standard output.
The /usr/5bin/egrep command accepts full regular
    expressions; it uses a deterministic algorithm with moderate space
    requirements.
The /usr/5bin/posix/egrep command accepts extended regular
    expressions. It uses a deterministic algorithm with moderate space
    requirements unless the expression includes multi-character collating
    elements, which cause the use of a nondeterministic algorithm.
/usr/5bin/s42/egrep and /usr/5bin/posix2001/egrep
    are identical to /usr/5bin/posix/egrep.
In the following description `character' excludes newline:
  - 1.
- A \ followed by a single character matches that character.
- 2.
- The character ^ ($) matches the beginning (end) of a line as
      an anchor.
- 3.
- A . matches any character.
- 4.
- A single character not otherwise endowed with special meaning matches that
      character.
- 5.
- A string enclosed in brackets [] forms a bracket expression
      that matches any single character from the string. Ranges of ASCII
      character codes may be abbreviated as in
      `a-z0-9'. A ] may occur only as the
      first character of the string. A literal - must be placed where it can't
      be mistaken as a range indicator.
- 6.
- A regular expression followed by * (+, ?) matches a
      sequence of 0 or more (1 or more, 0 or 1) matches of the regular
      expression.
- 7.
- Two regular expressions concatenated match a match of the first followed
      by a match of the second.
- 8.
- Two regular expressions separated by | or newline match either a
      match for the first or a match for the second (alternation).
- 9.
- A regular expression enclosed in parentheses () matches a match for
      the regular expression (grouping).
The order of precedence of operators is [] then () then *+? then
    concatenation then | and newline.
Extended Regular Expressions add the following features to Full
    Regular Expressions:
  - 10.
- A regular expression followed by {m,n}
      forms an interval expression that matches a sequence of m
      through n matches, inclusive, of the regular expression. The values
      of m and n must be non-negative and smaller than 255. The
      form {m} matches exactly m occurrences,
      {m,} matches at least m occurrences.
- 11.
- In bracket expressions as described in 5., the following character
      sequences are considered special:
- Character class expressions of the form [:class:]. In
      the C LC_CTYPE locale, the classes
    
    
      
        | [:alnum:] | [:cntrl:] | [:lower:] | [:space:] |  
        | [:alpha:] | [:digit:] | [:print:] | [:upper:] |  
        | [:blank:] | [:graph:] | [:punct:] | [:xdigit:] |  
 are recognized; further locale-specific classes may be
        available. A character class expression matches any character that
        belongs to the given class in the current LC_CTYPE locale. 
- Collating symbol expressions of the form [.c.], where
      c is a collating symbol in the current LC_COLLATE locale. A
      collating symbol expression matches the specified collating symbol.
- Equivalence class expressions of the form [=c=],
      where c is a collating symbol in the current LC_COLLATE locale. An
      equivalence class expression matches any character that has the same
      collating weight as c.
The order of precedence of operators is [==] [::] [..] then []
    then () then *+? {m,n} then concatenation then ^ $ then | and newline.
Care should be taken when using the characters $ * [ ^ | ?
    ´ " ( ) and \ in the expression as they are also meaningful to
    the Shell. It is safest to enclose the entire expression argument in single
    quotes ´ ´.
Both /usr/5bin/egrep and /usr/5bin/posix/egrep
    accept the following options:
  - -b
- Each line is preceded by the block number on which it was found. This is
      sometimes useful in locating disk block numbers by context. Block numbers
      start with 0.
- -c
- Only a count of matching lines is printed.
- -e pattern_list
- Specifies one or more patterns, separated by newline characters. A line is
      selected if one or more of the specified patterns are found.
- -f pattern_file
- One or more patterns, separated by newline characters, are read from
      pattern_file. If multiple -e or -f options are
      supplied to /usr/5bin/posix/egrep, all of the pattern lists will be
      evaluated.
- -h
- Normally, the name of each input file is printed before a match if there
      is more that one input file. When this option is present, no file names
      are printed.
- -i
- Upper- and lowercase differences are ignored when searching matches.
- -l
- The names of files with matching lines are listed (once) separated by
      newlines.
- -n
- Each line is preceded by its line number in the file. Line numbers start
      with 1.
- -v
- All lines but those matching are printed.
The following options are supported by
    /usr/5bin/posix/egrep only:
  - -q
- Do not write anything to standard output.
- -s
- Error messages for nonexistent or unreadable files are suppressed.
- -x
- Consider only lines consisting of the pattern as a whole, like a regular
      expression surrounded by ^ and $.
The following options are supported as extensions:
  - -r
- With this option given, egrep does not directly search in each
      given file that is a directory, but descends it recursively and scans each
      regular file found below it. Device files are ignored. Symbolic links are
      followed.
- -R
- Operates recursively as with the -r option, but does not follow
      symbolic links that point to directories unless if they are explicitly
      specified as arguments.
- -z
- If an input file is found to be compressed with compress(1),
      gzip(1), or bzip2(1), the appropriate compression program is
      started, and egrep searches for the pattern in its output.
  - LANG,
    LC_ALL
- See locale(7).
- LC_COLLATE
- Affects the collation order for range expressions, equivalence classes,
      and collation symbols in extended regular expressions.
- LC_CTYPE
- Determines the mapping of bytes to characters in both full and extended
      regular expressions, the availability and composition of character classes
      in extended regular expressions, and the case mapping for the -i
      option.
ed(1), fgrep(1), grep(1), sed(1), locale(7)
Exit status is 0 if any matches are found, 1 if none, 2 for syntax
    errors or inaccessible files.
If a line contains a NUL character, only matches up
    to this character are found with /usr/5bin/posix/egrep. The entire
    matching line will be printed.
The LC_COLLATE variable has currently no effect. Ranges in bracket
    expressions are ordered as byte values in single-byte locales and as wide
    character values in multibyte locales; equivalence classes match the given
    character only, and multi-character collating elements are not
  available.
For portable programs, restrict textual data to the US-ASCII
    character set, set the LC_CTYPE and LC_COLLATE variables to `C' or `POSIX',
    and use the constructs in the second column instead of the character class
    expressions as follows:
  
    | [[:alnum:]] | [0-9A-Za-z] | 
  
    | [[:alpha:]] | [A-Za-z] | 
  
    | [[:blank:]] | [<tab><space>] | 
  
    | [[:cntrl:]] | [^<space>-~] | 
  
    | [[:digit:]] | [0-9] | 
  
    | [[:graph:]] | [!-~] | 
  
    | [[:lower:]] | [a-z] | 
  
    | [[:print:]] | [<space>-~] | 
  
    | [[:punct:]] | [!-/:-@[-`{-~] | 
  
    | [[:space:]] | [<tab><vt><ff><cr><space>] | 
  
    | [[:upper:]] | [A-Z] | 
  
    | [[:xdigit:]] | [0-9a-fA-F] | 
 
<tab>, <space>, <vt>, <ff>,
  and <cr> indicate inclusion of a literal tabulator, space,
  vertical tabulator, formfeed, or carriage return character, respectively. Do
  not put the <vt>, <ff>, and <cr>
  characters into the range expression for the space class unless you
  actually want to match these characters.
Interval expressions were newly introduced with extended regular
    expressions and cannot be used in portable programs. To put a literal
    `{' character into an expression, use [{].