|
|
1.1 root 1: .TH GRE 1
2: .CT 1 files
3: .SH NAME
4: gre, grep, egrep, fgrep \(mi search a file for a pattern
5: .SH SYNOPSIS
6: .B gre
7: [
8: .I option ...
9: ]
10: .I pattern
11: [
12: .I file ...
13: ]
14: .PP
15: .B grep
16: [
17: .I option ...
18: ]
19: .I pattern
20: [
21: .I file ...
22: ]
23: .PP
24: .B egrep
25: [
26: .I option ...
27: ]
28: .I pattern
29: [
30: .I file ...
31: ]
32: .PP
33: .B fgrep
34: [
35: .I option ...
36: ]
37: .I strings
38: [
39: .I file ...
40: ]
41: .SH DESCRIPTION
42: .I Gre\^
43: searches the input
44: .I files\^
45: (standard input default)
46: for lines (with newlines excluded) that match the
47: .I pattern,
48: a regular expression as defined in
49: .IR re (3).
50: A file name of
51: .B -
52: is interpreted as standard input.
53: Normally, each line matching the pattern is `selected',
54: and each selected line is copied to the standard output.
55: The options are
56: .TP
57: .B -1
58: Print only the first selected line of each file argument.
59: .PD 0
60: .TP
61: .B -b
62: Mark each printed line with its byte position in its file.
63: This is sometimes useful in locating patterns in non-text files.
64: .TP
65: .B -c
66: Print only a count of matching lines.
67: .TP
68: .BI -e " pattern"
69: Same as a simple
70: .I pattern
71: argument,
72: but useful when
73: .I pattern
74: begins with a
75: .BR - .
76: .TP
77: .B -E
78: Simulate
79: .IR egrep.
80: .TP
81: .BI -f " file"
82: Read the pattern from
83: .IR file ;
84: there is no
85: .I pattern
86: argument
87: .TP
88: .B -F
89: Simulate
90: .IR fgrep.
91: .TP
92: .B -G
93: Simulate
94: .IR grep.
95: .TP
96: .B -h
97: Do not print filename tags (headers) with output lines.
98: .TP
99: .B -i
100: Ignore alphabetic case distinctions.
101: .TP
102: .B -l
103: Print the names of files with selected lines; don't print the lines.
104: .TP
105: .B -L
106: Print the names of files with no selected lines;
107: the converse of
108: .BR -l .
109: .TP
110: .B -n
111: Mark each printed line with its line number counted in its file.
112: .TP
113: .B -s
114: Produce no output, but return status.
115: .TP
116: .B -v
117: Reverse: print lines that do not match the pattern.
118: .TP
119: .B -x
120: Exact match: The pattern is
121: .BI ^( pattern )$ .
122: The implicit parentheses count in back references.
123: .PD
124: .PP
125: Output lines are tagged by filename when there is more than one
126: input file.
127: (To force this tagging, include
128: .B /dev/null
129: as a filename argument.)
130: If the output line exceeds some internal limit,
131: a warning is given and a small block of text surrounding the match is printed.
132: .PP
133: Care should be taken when
134: using the shell metacharacters
135: .B $*[^|()\e
136: and newline
137: in
138: .IR pattern ;
139: it is safest to enclose the
140: entire expression
141: in single quotes
142: .BR \&\|\(fm \|.\|.\|.\| \(fm .
143: .PP
144: .I Gre
145: supplants three classic programs, which are still available:
146: .PP
147: .I Grep
148: handles only
149: .IR ed (1)-like
150: regular expressions.
151: It uses
152: .L \e(\|\e)
153: instead of
154: .LR (\|) .
155: .PP
156: .I Egrep
157: handles the same patterns as
158: .I gre
159: except for back-referencing with
160: .BR \e1 ,
161: .BR \e2 ,
162: \&...
163: .PP
164: .I Fgrep
165: handles no operators except newline (alternation).
166: .SH SEE ALSO
167: .IR re (3),
168: .IR awk (1),
169: .IR sed (1),
170: .IR sam (9.1),
171: .IR strings (1)
172: .SH DIAGNOSTICS
173: Exit status is 0 if any lines are selected,
174: 1 if none, 2 for syntax errors, inaccessible files
175: (even if matches were found).
176: Warnings will be given for input lines that exceed
177: a (generous) internal limit.
178: .SH BUGS
179: .I Grep, egrep,
180: and
181: .I fgrep
182: do not support some options and print block numbers
183: rather than byte numbers for option
184: .BR -b .
185: .br
186: .I Egrep
187: may fail on input containing characters greater
188: than 0176.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.