From 4818125ac4d5beffdb78e874cf32387f5433fdc7 Mon Sep 17 00:00:00 2001 From: Ken Thompson Date: Wed, 10 Jan 1979 15:15:32 -0500 Subject: [PATCH] Research V7 development Work on file usr/man/man1/grep.1 Co-Authored-By: Lee E. McMahon Synthesized-from: v7 --- usr/man/man1/grep.1 | 176 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 usr/man/man1/grep.1 diff --git a/usr/man/man1/grep.1 b/usr/man/man1/grep.1 new file mode 100644 index 0000000000..18780de0e1 --- /dev/null +++ b/usr/man/man1/grep.1 @@ -0,0 +1,176 @@ +.TH GREP 1 +.SH NAME +grep, egrep, fgrep \- search a file for a pattern +.SH SYNOPSIS +.B grep +[ option ] ... +expression [ file ] ... +.LP +.B egrep +[ option ] ... +[ expression ] +[ file ] ... +.PP +.B fgrep +[ option ] ... +[ strings ] +[ file ] +.SH DESCRIPTION +Commands of the +.I grep +family search the input +.I files +(standard input default) +for lines matching +a pattern. +Normally, each line found +is copied to the standard output; +unless the +.B \-h +flag is used, +the file name is shown if there is more than one input file. +.PP +.I Grep +patterns are limited regular expressions in the style of +.IR ed (1); +it uses a compact nondeterministic algorithm. +.I Egrep +patterns are full regular expressions; +it uses a fast deterministic algorithm that +sometimes needs exponential space. +.I Fgrep +patterns are fixed strings; it is fast and compact. +.PP +The following options are recognized. +.TP +.B \-v +All lines but those matching +are printed. +.TP +.B \-c +Only a count of matching lines is printed. +.TP +.B \-l +The names of files with matching lines are listed (once) +separated by newlines. +.TP +.B \-n +Each line is preceded by +its line number in the file. +.TP +.B \-b +Each line is preceded by the block number +on which it was found. +This is sometimes useful in locating +disk block numbers by context. +.TP +.B \-s +No output is produced, only status. +.TP +.B \-h +Do not print filename headers with output lines. +.TP +.B \-y +Lower case letters in the pattern will also match +upper case letters in the input +.RI ( grep +only). +.TP +.BI \-e " expression" +Same as a simple +.I expression +argument, +but useful when the +.I expression +begins with a \-. +.TP +.BI \-f " file" +The regular expression +.RI ( egrep ) +or string list +.RI ( fgrep ) +is taken from the +.I file. +.TP +.B \-x +(Exact) only lines matched in their entirety are printed +.RI ( fgrep +only). +.PP +Care should be taken when +using the characters +$ * [ ^ | ? \' " ( ) and \e in the +.I expression +as they are +also meaningful to the Shell. +It is safest to enclose the +entire +.I expression +argument in single quotes \' \'. +.PP +.I Fgrep +searches for lines that contain one of the (newline-separated) +.I strings. +.PP +.I Egrep +accepts extended regular expressions. +In the following description `character' excludes +newline: +.IP +A \e followed by a single character +matches that character. +.IP +The character ^ +($) matches the beginning (end) of a line. +.IP +A +.B . +matches any character. +.IP +A single character not otherwise endowed with special +meaning matches that character. +.IP +A string enclosed in brackets [\|] +matches any single character from the string. +Ranges of ASCII character codes may be abbreviated +as in `a\-z0\-9'. +A ] +may occur only as the first character of the string. +A literal \- must be placed where it can't be +mistaken as a range indicator. +.IP +A regular expression followed by * (+, ?) matches a sequence +of 0 or more (1 or more, 0 or 1) +matches of the regular expression. +.IP +Two regular expressions concatenated +match a match of the first followed by a match of +the second. +.IP +Two regular expressions separated by | or newline +match either a match for the first or a match for the +second. +.IP +A regular expression enclosed in parentheses +matches a match for the regular expression. +.LP +The order of precedence of operators +at the same parenthesis level +is [\|] then +*+? then concatenation then | and newline. +.SH "SEE ALSO" +ed(1), +sed(1), +sh(1) +.SH DIAGNOSTICS +Exit status is 0 if any matches are found, +1 if none, 2 for syntax errors or inaccessible files. +.SH BUGS +Ideally there should be only one +.I grep, +but we don't know a single algorithm that spans a wide enough +range of space-time tradeoffs. +.PP +Lines +are limited to 256 characters; +longer lines are truncated. -- 2.20.1