*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> grep (1)              
Title
Content
Arch
Section
 

GREP(1)

Contents


NAME    [Toc]    [Back]

     grep, egrep, fgrep, zgrep, zegrep,  zfgrep  -  file  pattern
searcher

SYNOPSIS    [Toc]    [Back]

     grep       [-AB      num]      [-CEFGHILPRSUVZabchilnoqsvwx]
[--context[=num]]
          [--binary-files=value] [--line-buffered]  [-e  pattern]
[-f file]
          [pattern] [file ...]

DESCRIPTION    [Toc]    [Back]

     The  grep  utilities  search the given input files selecting
lines that
     match one or more patterns.  By default, a  pattern  matches
an input line
     if  any  regular  expression (RE) in the pattern matches the
input line
     without its trailing newline.  An empty  expression  matches
every line.
     Each input line that matches at least one of the patterns is
written to
     the standard output.

     The grep utility is used for simple patterns  and  ex(1)  or
ed(1) style
     regular  expressions.  The egrep utility can handle extended
regular expressions
 and multi-line patterns.   The  fgrep  utility  is
quick but can
     handle  only fixed patterns consisting of one or more lines,
allowing any
     of the pattern lines to match a portion of the  input.   The
zgrep, zegrep,
     and zfgrep utilities act like grep, egrep, and fgrep respectively but accept
 input files compressed with the compress(1) or  gzip(1)
compression
     utilities.

     The following options are available:

     -A  num   Print  num  lines  of  trailing context after each
match.

     -B num  Print num  lines  of  leading  context  before  each
match.

     -C       Print 2 lines of leading and trailing context after
each match.
             Equivalent to -A 2 -B 2.

     -E      Force grep to behave as egrep.

     -F      Force grep to behave as fgrep.

     -G      Force grep to behave as grep.

     -H      If -R is specified, follow symbolic  links  only  if
they were explicitly
 listed on the command line.

     -I      Ignore binary files.

     -L       Only  the  names  of  files not containing selected
lines are written
             to standard output.  Pathnames are listed  once  per
file searched.
             If  the standard input is searched, the pathname `-'
is written.

     -P      If -R is specified, no symbolic links are  followed.

     -R      Recursively search subdirectories listed.

     -S      If -R is specified, all symbolic links are followed.

     -U      Search binary files, but do  not  attempt  to  print
them.

     -V      Display version information.

     -Z      Force grep to behave as zgrep.

     -a      Treat all files as text.

     -b       The  offset  in  bytes of a matched pattern is displayed in front of
             the respective matched line.

     -c      Only a count of selected lines is written  to  standard output.

     -e expression
             Specify  a pattern used during the search of the input.  Multiple
             -e options can be used to specify multiple patterns;
an input
             line  is selected if it matches any of the specified
patterns.

     -f pattern_file
             Read one or more  newline  separated  patterns  from
pattern_file.
             Newlines are not considered part of a pattern.

     -h      Never print filename headers with output lines.

     -i      Perform case insensitive matching.

     -l       Only  the  names of files containing selected lines
are written to
             standard output.  Pathnames are listed once per file
searched.
             If  the standard input is searched, the pathname `-'
is written.

     -n      Each output line is preceded by  its  relative  line
number in the
             file,  starting  at line 1.  The line number counter
is reset for
             each file processed.  This option is ignored if  -c,
-l, or -q is
             specified.

     -o      Always print filename headers with output lines.

     -q      Suppress normal output.

     -s       Silent  mode.  Nonexistent and unreadable files are
ignored.

     -v      Selected lines are those not  matching  any  of  the
specified patterns.


     -w      The expression is searched for as a word (as if surrounded by
             `[[:<:]]' and `[[:>:]]', see re_format(7)).

     -x      Only input lines selected against  an  entire  fixed
string or regular
  expression are considered to be matching lines.

     --context[=num]
             Print num lines of  leading  and  trailing  context.
Default is 2.

     --binary-files=value
             Controls  searching  and  printing  of binary files.
Options are
             binary, the default, search binary files but do  not
print them;
             without-match, do not search binary files; and text,
treat all
             files as text.

     --line-buffered
             Force output to be line buffered.  By default,  output is line
             buffered  when  standard  output  is  a terminal and
block buffered
             otherwise.

     If no file arguments are specified, the  standard  input  is
used.

RETURN VALUES    [Toc]    [Back]

     The grep utility exits with one of the following values:

     0     One or more lines were selected.
     1     No lines were selected.
     >1    An error occurred.

EXTENDED REGULAR EXPRESSIONS    [Toc]    [Back]

     The following characters are interpreted by egrep:

     $     Align the match from the end of the line.
     ^     Align the match from the beginning of the line.
     |     Add another pattern (see example below).
     ?     Match 1 or less sequential repetitions of the pattern.
     +     Match 1 or more sequential repetitions of the pattern.
     *     Match 0 or more sequential repetitions of the pattern.
     {}    Match specified number of  sequential  repetitions  of
the pattern.
     []     Match any single character or range of characters enclosed in the
           brackets.
         Escape special characters which have meaning  to  egrep,
the set of
           `$.^[]|?+*{}()'.

EXAMPLES    [Toc]    [Back]

     To find all occurrences of the word patricia in a file:

           grep patricia myfile

     To  find  all occurrences of the pattern `.Pp' at the beginning of a line:

           grep '^.Pp'

     The apostrophes ensure the entire expression is evaluated by
grep instead
     of  by  the  user's  shell.   The caret `^' matches the null
string at the beginning
 of a line, and the `' escapes the  `.'  which  would
otherwise
     match any character.

     To  find  all lines in a file which do not contain the words
foo or bar:

           grep -v -e foo -e bar myfile

     A simple example of an extended regular expression:

           egrep '19|20|25' calendar

     Peruses the file calendar looking for either 19, 20 or 25.

SEE ALSO    [Toc]    [Back]

      
      
     ed(1), ex(1), sed(1), regex(3), regexp(3), re_format(7)

HISTORY    [Toc]    [Back]

     The grep command appeared in Version 6 AT&T UNIX.

OpenBSD      3.6                           July      3,      1999
[ Back ]
 Similar pages
Name OS Title
tt_pattern_file_add HP-UX add a value to the file field of a pattern
grep IRIX search a file for a pattern
egrep HP-UX search a file for a pattern
fgrep HP-UX search a file for a pattern
grep HP-UX search a file for a pattern
egrep IRIX search a file for a pattern using full regular expressions
tt_pattern_arg_add HP-UX add an argument to a pattern
tt_message_barg_add HP-UX add an argument to a pattern
tt_pattern_print HP-UX format a pattern
menu_pattern NetBSD get or set menu pattern
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service