home *** CD-ROM | disk | FTP | other *** search
-
-
-
- GREP(1) USER COMMANDS GREP(1)
-
-
-
- NAME
- grep, egrep - print lines matching a regular expression
-
- SYNOPSIS
- grep [ -CVbchilnsvwx ] [ -¢4mnum¢24m ] [ -AB ¢4mnum¢24m ] [ [ -e ] ¢4mexpr¢24m |
- -f ¢4mfile¢24m ] [ ¢4mfiles¢24m ... ]
-
- DESCRIPTION
- ¢4mGrep¢24m searches the files listed in the arguments (or standard
- input if no files are given) for all lines that contain a
- match for the given ¢4mexpr¢24m. If any lines match, they are
- printed.
-
- Also, if any matches were found, ¢4mgrep¢24m exits with a status of
- 0, but if no matches were found it exits with a status of 1.
- This is useful for building shell scripts that use ¢4mgrep¢24m as a
- condition for, for example, the ¢4mif¢24m statement.
-
- When invoked as ¢4megrep¢24m the syntax of the ¢4mexpr¢24m is slightly
- different; See below.
-
- REGULAR EXPRESSIONS
- (grep) (egrep) (explanation)
-
- ¢4mc¢24m ¢4mc¢24m a single (non-meta) character
- matches itself.
-
- . . matches any single character except
- newline.
-
- \? ? postfix operator; preceeding item
- is optional.
-
- * * postfix operator; preceeding item 0
- or more times.
-
- \+ + postfix operator; preceeding item 1
- or more times.
-
- \| | infix operator; matches either
- argument.
-
- ^ ^ matches the empty string at the
- beginning of a line.
-
- $ $ matches the empty string at the end
- of a line.
-
- \< \< matches the empty string at the
- beginning of a word.
-
- \> \> matches the empty string at the end
-
-
-
- GNU Project Last change: 1988 December 13 1
-
-
-
-
-
-
- GREP(1) USER COMMANDS GREP(1)
-
-
-
- of a word.
-
- [¢4mchars¢24m] [¢4mchars¢24m] match any character in the given
- class; if the first character after
- [ is ^, match any character not in
- the given class; a range of charac-
- ters may be specified by
- ¢4mfirst¢24m-¢4mlast¢24m; for example, \W (below)
- is equivalent to the class
- [^A-Za-z0-9]
-
- \( \) ( ) parentheses are used to override
- operator precedence.
-
- \¢4mdigit¢24m \¢4mdigit¢24m \¢4mn¢24m matches a repeat of the text
- matched earlier in the regexp by
- the subexpression inside the nth
- opening parenthesis.
-
- \ \ any special character may be pre-
- ceded by a backslash to match it
- literally.
-
- (the following are for compatibility with GNU Emacs)
-
- \b \b matches the empty string at the
- edge of a word.
-
- \B \B matches the empty string if not at
- the edge of a word.
-
- \w \w matches word-constituent characters
- (letters & digits).
-
- \W \W matches characters that are not
- word-constituent.
-
- Operator precedence is (highest to lowest) ?, *, and +, con-
- catenation, and finally |. All other constructs are syntac-
- tically identical to normal characters. For the truly
- interested, the file dfa.c describes (and implements) the
- exact grammar understood by the parser.
-
- OPTIONS
- -A ¢4mnum¢24m
- print <num> lines of context after every matching line
-
- -B ¢4mnum¢24m
- print ¢4mnum¢24m lines of context before every matching line
-
- -C print 2 lines of context on each side of every match
-
-
-
-
- GNU Project Last change: 1988 December 13 2
-
-
-
-
-
-
- GREP(1) USER COMMANDS GREP(1)
-
-
-
- -¢4mnum¢24m print ¢4mnum¢24m lines of context on each side of every match
-
- -V print the version number on the diagnostic output
-
- -b print every match preceded by its byte offset
-
- -c print a total count of matching lines only
-
- -e ¢4mexpr¢24m
- search for ¢4mexpr¢24m; useful if ¢4mexpr¢24m begins with -
-
- -f ¢4mfile¢24m
- search for the expression contained in ¢4mfile¢24m
-
- -h don't display filenames on matches
-
- -i ignore case difference when comparing strings
-
- -l list files containing matches only
-
- -n print each match preceded by its line number
-
- -s run silently producing no output except error messages
-
- -v print only lines that contain no matches for the <expr>
-
- -w print only lines where the match is a complete word
-
- -x print only lines where the match is a whole line
-
- SEE ALSO
- emacs(1), ed(1), sh(1), ¢4mGNU¢24m ¢4mEmacs¢24m ¢4mManual¢24m
-
- INCOMPATIBILITIES
- The following incompatibilities with UNIX ¢4mgrep¢24m exist:
-
- The context-dependent meaning of * is not quite the
- same (grep only).
-
- -b prints a byte offset instead of a block offset.
-
- The {¢4mm¢24m,¢4mn¢24m} construct of System V grep is not imple-
- mented.
-
- BUGS
- GNU ¢4me¢24m?¢4mgrep¢24m has been thoroughly debugged and tested over a
- period of several years; we think it's a reliable beast or
- we wouldn't distribute it. If by some fluke of the universe
- you discover a bug, send a detailed description (including
- options, regular expressions, and a copy of an input file
- that can reproduce it) to mike@ai.mit.edu.
-
-
-
-
- GNU Project Last change: 1988 December 13 3
-
-
-
-
-
-
- GREP(1) USER COMMANDS GREP(1)
-
-
-
- AUTHORS
- Mike Haertel wrote the deterministic regexp code and the
- bulk of the program.
-
- James A. Woods is responsible for the hybridized search
- strategy of using Boyer-Moore-Gosper fixed-string search as
- a filter before calling the general regexp matcher.
-
- Arthur David Olson contributed code that finds fixed strings
- for the aforementioned BMG search for a large class of
- regexps.
-
- Richard Stallman wrote the backtracking regexp matcher that
- is used for \¢4mdigit¢24m backreferences, as well as the GNU
- getopt. The backtracking matcher was originally written for
- GNU Emacs.
-
- D. A. Gwyn wrote the C alloca emulation that is provided so
- System V machines can run this program. (Alloca is used
- only by RMS' backtracking matcher, and then only rarely, so
- there is no loss if your machine doesn't have a "real"
- alloca.)
-
- Scott Anderson and Henry Spencer designed the regression
- tests used in the "regress" script.
-
- Paul Placeway wrote the original version of this manual
- page.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GNU Project Last change: 1988 December 13 4
-
-
-
-