GREP(1)                                                   GREP(1)

          grep, g - search a file for a pattern

          grep [ -bchiLlnsv ] [ -e ] pattern | -f patternfile [ file
          ... ]
          g [ flags ] pattern [ file ... ]

          Grep searches the input files (standard input default) for
          lines that match the pattern, a regular expression as
          defined in regexp(6) with the addition of a newline charac-
          ter as an alternative (substitute for |) with lowest prece-
          dence.  Normally, each line matching the pattern is
          `selected', and each selected line is copied to the standard

          The options are:

          -c   Print only a count of matching lines.

          -h   Do not print file name tags (headers) with output

          -e   The following argument is taken as a pattern. This
               option makes it easy to specify patterns that might
               confuse argument parsing, such as -n.

          -i   Ignore alphabetic case distinctions.  The implementa-
               tion folds into lower case all letters in the pattern
               and input before interpretation.  Matched lines are
               printed in their original form.

          -l   (ell) Print the names of files with selected lines;
               don't print the lines.

          -L   Print the names of files with no selected lines; the
               converse of -l.

          -n   Mark each printed line with its line number counted in
               its file.

          -s   Produce no output, but return status.

          -v   Reverse: print lines that do not match the pattern.

          -f   The pattern argument is the name of a file containing
               regular expressions one per line.

          -b   Don't buffer the output: write each output line as soon

     GREP(1)                                                   GREP(1)

               as it is discovered.

          Output lines are tagged by file name when there is more than
          one input file.  (To force this tagging, include /dev/null
          as a file name argument.)

          Care should be taken when using the shell metacharacters
          $*[^|()=\ and newline in pattern; it is safest to enclose
          the entire expression in single quotes '...'.  An expression
          starting with '*' will treat the rest of the expression as
          literal characters.

          G invokes grep with -n (plus additional flags, if provided)
          and forces tagging of output lines by file name. If no files
          are listed, it recursively searches the current directory
          for all files matching *.b *.c *.C *.h *.l *.m *.s *.y *.asm
          *.awk *.cc *.cgi *.cpp *.cs *.go *.goc *.hs *.java *.lua
          *.lx *.mk *.ml *.mli *.ms *.myr *.pl *.py *.rc *.sh *.tex

          The recursive search can be suppressed by passing g the -n


          ed(1), awk(1), sed(1), sam(1), regexp(6)

          Exit status is null if any lines are selected, or non-null
          when no lines are selected or an error occurs.