home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 December / simtel1292_SIMTEL_1292_Walnut_Creek.iso / msdos / txtutl / ggrep.arc / GGREP.HLP < prev    next >
Text File  |  1987-07-20  |  6KB  |  127 lines

  1. .PAGE.
  2. NAME
  3.      ggrep - search files for a pattern 
  4.  
  5. SYNOPSIS
  6.      ggrep [ options ] [ pattern ] [ files ]
  7.  
  8. DESCRIPTION
  9.  
  10.      This program is similar to the UNIX fgrep and egrep programs.
  11.      It's command-line syntax is almost identical, with only a few
  12.      minor exceptions.  Unlike UNIX's grep programs, this program
  13.      handles both the fgrep and egrep cases (ergo E-, F-, G-grep).
  14.  
  15.      This program searches the input files (or standard input if
  16.      no files are specified) for lines matching the pattern.  Unless
  17.      modified by options, each line found which matches the pattern
  18.      is written to the standard output.  Normally, the pattern is
  19.      a fixed string (like fgrep).  It is possible to request the
  20.      pattern be interpreted as a regular expression (like egrep).
  21. .PAGE.
  22. DESCRIPTION (continued)
  23.  
  24.      -v   All lines but those matching the pattern are output.
  25.      -x   Only lines matched in their entirety are output.
  26.      -a   Only lines beginning with the pattern are output [NOTE].
  27.      -c   Only a count of matching lines is output
  28.      -l   Only the names of each file, once, with matching lines are
  29.           output.   Each filename is on a line by itself.
  30.      -n   Each output line is preceded by its relative line number
  31.      -b   Each output line is preceded by the block number in which
  32.           it was found.  Blocks are considered to be 512 bytes [NOTE].
  33.      -s   Error messages regarding files which cannot be opened are
  34.           suppressed.
  35.      -e   The pattern should should be interpreted as a regular
  36.           expression.  Regular expression matches utilize Henry
  37.           Spencer's REGEXP(3) subroutines [NOTE].
  38.      -f   (followed by a filename).  Multiple patterns are contained
  39.           in the named file, one per line.
  40. .PAGE.
  41. DESCRIPTION (continued)
  42.  
  43.      Options marked with [NOTE] perform differently from the standard
  44.      UNIX package.
  45.  
  46.      In all cases, the filename is output unless the input is the
  47.      standard input or there is only one filename specified.  If it is
  48.      desirable to begin a pattern with a hyphen, the hyphen should be
  49.      escaped with a backslash.   Certain patterns may be impossible to
  50.      enter from the command line due to MS-DOS limitations.  To
  51.      incorporate spaces into a pattern, the pattern should be enclosed
  52.      in double quotes.   Unlike UNIX, it is impossible to specify
  53.      multiple strings on the command line.  The -f option must be used
  54.      to search for multiple strings or regular expressions.
  55. .PAGE.
  56. EXIT VALUES
  57.  
  58.      0: matches found
  59.      1: no matches found
  60.      2: option error or inaccessible file(s)
  61.      3: help was output
  62.  
  63. CAVEATS
  64.  
  65.      Lines longer than 256 bytes, including lines from a pattern
  66.      file, are truncated.
  67.  
  68.      Certain combinations of options are illogical, but inconsistencies
  69.      are not reported.  The last option on the line takes precedence.
  70.      -X, -e, and -a are exclusive; -l using stdin may be meaningless.
  71. .PAGE.
  72. REGULAR EXPRESSION SYNTAX
  73.  
  74.      [ Extracted from Henry Spencer's REGEXP(3) documentation.
  75.        Copyright (c) University of Toronto. ]
  76.  
  77.      A regular expression is zero or more branches, separated by '|'.
  78.      It matches anything that matches one of the branches.  [ NOTE
  79.      that '|' is difficult to pass as an argument in MS-DOS. ]
  80.  
  81.      A branch is zero or more pieces, concatenated.  It matches a match
  82.      for the first, followed by a match for the second, etc.
  83.  
  84.      A piece is an atom possibly followed by '*', '+', or '?'.   An atom
  85.      followed by '*' matches a sequence of 0 or more matches of the
  86.      atom.  An atom followed by '+' matches a sequence of 1 or more
  87.      matches of the atom.  An atom followed by '?' matches a match of
  88.      the atom, or the null string.
  89. .PAGE.
  90. REGULAR EXPRESSION SYNTAX (continued)
  91.  
  92.      An atom is a regular expression in parentheses (matching a match
  93.      for the regular expression), a range (see below), '.' (matching
  94.      any single character), '^' (matching the null string at the
  95.      beginning of the input string), '$' (matching the null string at
  96.      the end of the input string), a '\' followed by a single character
  97.      (matching that character), or a single character with no other
  98.      significance (matching that character).
  99.  
  100.      A range is a sequence of characters enclosed in '[]'.  It normally
  101.      matches any single character from the sequence.  If the sequence
  102.      begins with '^', it matches any single character not from the rest
  103.      of the sequence.  If two characters in the sequence are separated
  104.      by '-', this is shorthand for the full list of ASCII characters
  105.      between them (e.g. '[0-9]' matches any decimal digit).  To include
  106.      a literal ']' in the sequence, make it the first character
  107.      (following a possible '^').  To include a literal '-', make it the
  108.      first or last character.
  109. .PAGE.
  110. USAGE SUMMARY
  111.  
  112.      GGREP [ options ] [ pattern ] [ files ]
  113.  
  114.           -e:     pattern is a regular expression
  115.           -a:     anchored matches of pattern
  116.           -x:     exact matches of pattern
  117.  
  118.           -c:     output count of matches only
  119.           -l:     output filenames with matches only
  120.  
  121.           -v:     all lines but matching are output
  122.           -n:     output line numbers are output
  123.           -b:     block numbers are output
  124.           -s:     suppress complaints about file open failures
  125.           -f fn:  load patterns from file named fn
  126.           files:  one or more files, wildcards allowed
  127.