NAME
     pcregrep - a grep with Perl-compatible regular expressions.



SYNOPSIS
     pcregrep [-Vcfhilnrsvx] pattern [file] ...



DESCRIPTION
     pcregrep searches files for character patterns, in the  same
     way  as other grep commands do, but it uses the PCRE regular
     expression library to support patterns that  are  compatible
     with  the  regular  expressions of Perl 5. See pcre(3) for a
     full description of syntax and semantics.

     If no files  are  specified,  pcregrep  reads  the  standard
     input.  By  default,  each  line that matches the pattern is
     copied to the standard output, and if there is more than one
     file,  the  file name is printed before each line of output.
     However, there are options  that  can  change  how  pcregrep
     behaves.

     Lines are limited to BUFSIZ characters. BUFSIZ is defined in
     <stdio.h>.  The newline character is removed from the end of
     each line before it is matched against the pattern.



OPTIONS
     -V        Write the version number of the PCRE library being
               used to the standard error stream.

     -c        Do not print individual lines; instead just  print
               a  count  of the number of lines that would other-
               wise have  been  printed.  If  several  files  are
               given, a count is printed for each of them.

     -ffilename
               Read patterns from the file,  one  per  line,  and
               match  all  patterns against each line. There is a
               maximum of 100 patterns. Trailing white  space  is
               removed,  and  blank  lines  are ignored. An empty
               file contains no patterns  and  therefore  matches
               nothing.

     -h        Suppress printing of filenames when searching mul-
               tiple files.

     -i        Ignore upper/lower case distinctions  during  com-
               parisons.

     -l        Instead of printing lines  from  the  files,  just

               print the names of the files containing lines that
               would have been printed. Each file name is printed
               once, on a separate line.

     -n        Precede each line by its line number in the file.

     -r        If any file is a directory, recursively  scan  the
               files  it  contains.  Without  -r  a  directory is
               scanned as a normal file.

     -s        Work silently, that  is,  display  nothing  except
               error messages.  The exit status indicates whether
               any matches were found.

     -v        Invert the sense of the match, so that lines which
               do not match the pattern are now the ones that are
               found.

     -x        Force the pattern to be anchored  (it  must  start
               matching  at  the  beginning  of  the line) and in
               addition, require it to  match  the  entire  line.
               This is equivalent to having ^ and $ characters at
               the start and end of each  alternative  branch  in
               the regular expression.



SEE ALSO
     pcre(3), Perl 5 documentation





DIAGNOSTICS
     Exit status is 0 if any matches were found, 1 if no  matches
     were  found,  and  2  for syntax errors or inacessible files
     (even if matches were found).



AUTHOR
     Philip Hazel <ph10@cam.ac.uk>

     Last updated: 15 August 2001
     Copyright (c) 1997-2001 University of Cambridge.
