GREP(1)             UNIX Programmer's Manual		  GREP(1)


NAME
     grep, egrep, fgrep - search a file for a pattern

SYNOPSIS
     grep [ option ] ...  expression [ file ] ...

     egrep [ option ] ...  [ expression ] [ file ] ...

     fgrep [ option ] ...  [ strings ] [ file ]

DESCRIPTION
     Commands of the grep family search the input files (standard
     input default) for lines matching a pattern.  Normally, each
     line found is copied to the standard output.  Grep patterns
     are limited regular expressions in the style of ex(1); it
     uses a compact nondeterministic algorithm.  Egrep patterns
     are full regular expressions; it uses a fast deterministic
     algorithm that sometimes needs exponential space.	Fgrep
     patterns are fixed strings; it is fast and compact.  The
     following options are recognized.

     -v   All lines but those matching are printed.

     -x   (Exact) only lines matched in their entirety are
	  printed (fgrep only).

     -c   Only a count of matching lines is printed.

     -l   The names of files with matching lines are listed
	  (once) separated by newlines.

     -n   Each line is preceded by its relative line number in
	  the file.

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

     -i   The case of letters is ignored in making comparisons -
	  that is, upper and lower case are considered identical.
	  This applies to grep and fgrep only.

     -s   Silent mode.	Nothing is printed (except error mes-
	  sages).  This is useful for checking the error status.

     -w   The expression is searched for as a word (as if sur-
	  rounded by `\<' and `\>', see ex(1).) (grep only)

     -e expression
	  Same as a simple expression argument, but useful when
	  the expression begins with a -.


Printed 11/26/99	 April 29, 1985                         1


GREP(1)             UNIX Programmer's Manual		  GREP(1)


     -f file
	  The regular expression (egrep) or string list (fgrep)
	  is taken from the file.

     In all cases the file name is shown if there is more than
     one input file.  Care should be taken when using the charac-
     ters $ * [ ^ | ( ) and \ in the expression as they are also
     meaningful to the Shell.  It is safest to enclose the entire
     expression argument in single quotes ' '.

     Fgrep searches for lines that contain one of the (newline-
     separated) strings.

     Egrep accepts extended regular expressions.  In the follow-
     ing description `character' excludes newline:

	  A \ followed by a single character other than newline
	  matches that character.

	  The character ^ matches the beginning of a line.

	  The character $ matches the end of a line.

	  A . (period) matches any character.

	  A single character not otherwise endowed with special
	  meaning matches that character.

	  A string enclosed in brackets [] 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.

	  A regular expression followed by an * (asterisk)
	  matches a sequence of 0 or more matches of the regular
	  expression.  A regular expression followed by a +
	  (plus) matches a sequence of 1 or more matches of the
	  regular expression.  A regular expression followed by a
	  ? (question mark) matches a sequence of 0 or 1 matches
	  of the regular expression.

	  Two regular expressions concatenated match a match of
	  the first followed by a match of the second.

	  Two regular expressions separated by | or newline match
	  either a match for the first or a match for the second.

	  A regular expression enclosed in parentheses matches a
	  match for the regular expression.


Printed 11/26/99	 April 29, 1985                         2


GREP(1)             UNIX Programmer's Manual		  GREP(1)


     The order of precedence of operators at the same parenthesis
     level is [] then *+? then concatenation then | and newline.

     Ideally there should be only one grep, but we don't know a
     single algorithm that spans a wide enough range of space-
     time tradeoffs.

SEE ALSO
     ex(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.

BUGS
     Lines are limited to 256 characters; longer lines are trun-
     cated.


Printed 11/26/99	 April 29, 1985                         3


 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 1462
Valid CSS Valid XHTML 1.0 Strict