[0m


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



[1mNAME
     [0mgrep, egrep, fgrep - search a file for a pattern

[1mSYNOPSIS
     grep [0m[ option ] ...  expression [ file ] ...

     [1megrep [0m[ option ] ...  [ expression ] [ file ] ...

     [1mfgrep [0m[ option ] ...  [ strings ] [ file ]

[1mDESCRIPTION
     [0mCommands of the _g_r_e_p family search the input _f_i_l_e_s (standard
     input default) for lines matching a pattern.  Normally, each
     line found is copied to the standard output.  _G_r_e_p patterns
     are limited regular expressions in the style of _e_x(1); it
     uses a compact nondeterministic algorithm.  _E_g_r_e_p patterns
     are full regular expressions; it uses a fast deterministic
     algorithm that sometimes needs exponential space.	_F_g_r_e_p
     patterns are fixed strings; it is fast and compact.  The
     following options are recognized.

     [1m-v   [0mAll lines but those matching are printed.

     [1m-x   [0m(Exact) only lines matched in their entirety are
	  printed (_f_g_r_e_p only).

     [1m-c   [0mOnly a count of matching lines is printed.

     [1m-l   [0mThe names of files with matching lines are listed
	  (once) separated by newlines.

     [1m-n   [0mEach line is preceded by its relative line number in
	  the file.

     [1m-b   [0mEach line is preceded by the character offset within
	  the file of the start of the line.

     [1m-i   [0mThe case of letters is ignored in making comparisons -
	  that is, upper and lower case are considered identical.

     [1m-s   [0mIf you are running the BSD version of grep,
	  /usr/bin/grep, this turns on silent mode.  Nothing is
	  printed (except error messages).  This is useful for
	  checking the error status.  If you are running the
	  X/Open version, /usr/5bin/grep, then it only supresses
	  the error messages resulting from non-existent or
	  unreadable files.

     [1m-w   [0mThe expression is searched for as a word (as if sur-
	  rounded by `\<' and `\>', see _e_x(1).) (_g_r_e_p only)

     [1m-e [0m_e_x_p_r_e_s_s_i_o_n



Printed 22/5/92     Revision 1.5 of 23/10/90			1






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



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

     [1m-f [0m_f_i_l_e
	  The regular expression (_e_g_r_e_p) or string list (_f_g_r_e_p)
	  is taken from the _f_i_l_e.

     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 _e_x_p_r_e_s_s_i_o_n as they are also
     meaningful to the Shell.  It is safest to enclose the entire
     _e_x_p_r_e_s_s_i_o_n argument in single quotes ' '.

     _F_g_r_e_p searches for lines that contain one of the (newline-
     separated) _s_t_r_i_n_g_s.

     _E_g_r_e_p 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 [1m. [0m(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.




Printed 22/5/92     Revision 1.5 of 23/10/90			2






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



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

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

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

[1mSEE ALSO
     [0mex(1), sed(1), sh(1)

[1mDIAGNOSTICS
     [0mExit status is 0 if any matches are found, 1 if none, 2 for
     syntax errors or inaccessible files.

[1mBUGS
     [0mLines are limited to 256 characters; longer lines are trun-
     cated.



































Printed 22/5/92     Revision 1.5 of 23/10/90			3



[0m