[cc]mc |
.hd find "look for a pattern" 08/27/84
find <pattern> { -{<option>} } { <file_spec> }
   <option> ::=  c | i | l | o[<occurrences>] | v | x
   <file_spec> ::= <filename> | -[<stdin_number>] |
                     -n(<stdin_number>|<filename>)
[cc]mc
.ds
'Find' is a filter that selects lines matching a given pattern from
the named files (or standard input if no files are specified)
and copies them to standard output.  The pattern supplied as the
first argument is a regular expression with the full set of
options found in the editor.
(See [ul Introduction to the Software Tools Text Editor] in the
[ul Software Tools Subsystem User's Guide] for details.)
.sp
[cc]mc |
The available options are:
.in +10
.ta 6
.tc \
.sp
.ti -5
-c\If the "c" option is used, only a count of the lines that
matched (differed) is printed.
.sp
.ti -5
-i\If the "i" option is used, the case of the pattern and the
text of the search file(s) is ignored.
.sp
.ti -5
-l\If the "l" option is used, each line
printed is preceded by its relative line number within the file from
which it was read.
.sp
.ti -5
-o\If the "o" option is used, find
will quit searching the current file after
<occurrences> matching (differing)
lines have been found in it, and will continue with the next file.
If "o" is specified but <occurrences> is omitted, only the first
occurrence is found.
.sp
.ti -5
-v\If the "v" option is specified, each line of output is labelled with
the name of the input file from which the line was read.
.sp
.ti -5
-x\If the "x" option is used, or if the first character of the pattern
is a tilde ("~"), only lines that do not match the pattern are
printed.
.in -10
.ta
.tc
.sp
The remaining command line arguments are taken as names of files
to be searched for the pattern.
The full syntax of the <file_spec> argument is described in the
entry for 'cat' (1).
Most frequently, it will take the form of a Subsystem pathname.
[cc]mc
.sp
'Find' is frequently used for processing output from 'lf' before performing
some operation on a number of files,
and for stripping out "uninteresting" lines from data to be further
processed by other tools.
.es
lf -c | find .r$
lf -c | find .r$ | find call -lv -n
find CALL -lv [lf -c | find .f$]
find "format" -c rf.r ed.r
.me
.in +5
.ti -5
"Usage: find ..." for bad arguments.
.ti -5
"illegal pattern" for bad pattern syntax.
.ti -5
"file: can't open" for unreadable files.
.in -5
.sa
[cc]mc |
cat (1),
change (1), ffind (1), files (1), se (1), makpat (2), amatch (2),
match (2),
[cc]mc
[ul Introduction to the Software Tools Text Editor]