|
|
1.1 root 1: .\" Copyright (c) 1980, 1990 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted provided
5: .\" that: (1) source distributions retain this entire copyright notice and
6: .\" comment, and (2) distributions including binaries display the following
7: .\" acknowledgement: ``This product includes software developed by the
8: .\" University of California, Berkeley and its contributors'' in the
9: .\" documentation or other materials provided with the distribution and in
10: .\" all advertising materials mentioning features or use of this software.
11: .\" Neither the name of the University nor the names of its contributors may
12: .\" be used to endorse or promote products derived from this software without
13: .\" specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)grep.1 6.5 (Berkeley) 7/24/90
19: .\"
20: .Dd July 24, 1990
21: .Dt GREP 1
22: .Os BSD 4.4
23: .Sh NAME
24: .Nm grep
25: .Nd File pattern searcher.
26: .Sh SYNOPSIS
27: .Nm grep
28: .Op Fl bchilnosvw
29: .Op Fl e Ar pattern
30: .Ar
31: .Nm egrep
32: .Op Fl bchilnosv
33: .Op Fl e Ar pattern
34: .Op Fl f Ar pattern_file
35: .Ar
36: .Nm fgrep
37: .Op Fl bchilnosvx
38: .Op Fl e Ar pattern
39: .Op Fl f Ar pattern_file
40: .Ar
41: .Sh DESCRIPTION
42: The
43: .Nm grep
44: utilities search the given input files selecting lines
45: which match one or more patterns; the type of patterns is controlled
46: by the options specified.
47: By default, a pattern
48: matches an input line if any regular expression (RE) in the
49: pattern matches the input line without its trailing <new-line>.
50: A null RE matches every line.
51: Each input line that matches at
52: least one of the patterns is written to the standard output.
53: .Pp
54: For simple patterns or
55: .Xr ex 1
56: or
57: .Xr ed 1
58: style regular expressions, the
59: .Nm grep
60: utility is used.
61: The
62: .Nm egrep
63: utility
64: can handle extended regular expressions and
65: embedded <newline>s in pattern
66: .Nm Fgrep
67: is quick but is designed to handle fixed strings.
68: A fixed string
69: is a string of characters,
70: each character
71: is matched only by itself.
72: The pattern
73: value can consist of multiple lines with
74: embedded <newline>s.
75: In this case, the <newline>s
76: act as alternation characters, allowing any of the
77: pattern lines to match a portion of the input.
78: .Pp
79: The following options are available:
80: .Pp
81: .Tw Fl
82: .Tp Fl b
83: The block number on the disk in which a matched pattern is located
84: is displayed in front of the respective matched line.
85: .Tp Fl c
86: Only a count of selected lines is written to standard
87: output.
88: .Tc Fl e
89: .Ws
90: .Ar expression
91: .Cx
92: Specify a pattern used during the search of the
93: input.
94: Multiple
95: .Fl e
96: options can be used to specify
97: multiple patterns; an input line is selected of it
98: matches any of the specified patterns.
99: .Tc Fl f
100: .Ws
101: .Ar pattern_file
102: .Cx
103: The pattern is read from the file named by the
104: pathname pattern_file.
105: Trailing newlines
106: in the pattern_file are ignored.
107: .Pf \&( Nm egrep
108: and
109: .Nm fgrep
110: only).
111: .Tp Fl h
112: Never print filename headers with output lines.
113: .Tp Fl i
114: The case of letters is ignored in making comparisons \- that is, upper and
115: lower case are considered identical.
116: .Tp Fl l
117: Only the names of files containing selected lines
118: are written to standard output.
119: Pathnames are
120: listed once per file searched.
121: If the standard
122: input is searched, the pathname
123: .Sq Fl
124: is written.
125: .Tp Fl n
126: Each output line is preceded by its relative line
127: number in the file; each file starting at line 1.
128: The line number counter is reset for each file processed.
129: This option is ignored if
130: .Fl c ,
131: .Fl l ,
132: or
133: .Fl s
134: is
135: specified.
136: .Tp Fl o
137: Always print filename headers with output lines.
138: .Tp Fl s
139: Silent mode. Nothing is printed (except error messages).
140: This is useful for checking the error status.
141: .Tp Fl v
142: Selected lines are those
143: .Em not
144: matching the specified
145: patterns.
146: .Tp Fl x
147: Only input lines selected against an entire fixed
148: string or regular expression are considered to be
149: matching lines.
150: .Pf \&( Nm fgrep
151: only).
152: .Tp Fl w
153: The expression is searched for as a word
154: (as if surrounded by `\e<' and `\e>', see
155: .Xr ex 1 . )
156: .Pf \&( Nm grep
157: only)
158: .Pp
159: .Tp
160: If no file arguments are specified, the
161: standard input is used.
162: .Pp
163: The
164: .Nm grep
165: utility exits with one of the following values:
166: .Dw Ds
167: .Dp Li \&0
168: One or more lines were selected.
169: .Dp Li \&1
170: No lines were selected.
171: .Dp Li \&>1
172: An error occurred.
173: .Dp
174: .Sh EXTENDED REGULAR EXPRESSIONS
175: The following characters are interpreted by
176: .Nm egrep :
177: .Tw Ds
178: .Tp Cm \&$
179: Align the match from the end of the line.
180: .Tp Cm \&^
181: Align the match from the beginning of the line.
182: .Tp Cm \&|
183: Add another pattern (see example below).
184: .Tp Cm \&?
185: Match 1 or less sequential repetitions of the pattern.
186: .Tp Cm \&+
187: Match 1 or more sequential repetitions of the pattern.
188: .Tp Cm \&*
189: Match 0 or more sequential repetitions of the pattern.
190: .Tp Cm \&[]
191: Match any single character or range of characters
192: enclosed in the brackets.
193: .Tp Cm \&\e
194: Escape special characters which have meaning to
195: .Nm egrep ,
196: the set of {$,.,^,[,],|,?,+,*,(,)}.
197: .Tp
198: .Sh EXAMPLES
199: To find all occurances of the word patricia in a file:
200: .Pp
201: .Dl grep patricia myfile
202: .Pp
203: To find all occurences to the pattern
204: .Sq Li \&.Pp
205: at the beginning of a line:
206: .Pp
207: .Dl grep '^\e.Pp'
208: .Pp
209: The apostrophys assure the entire expression is evaluated by
210: .Nm grep
211: instead of by the
212: users shell.
213: The carat or hat
214: .Sq Li \&^
215: means
216: .Em from the beginning of a line ,
217: and the
218: .Sq Li \&\e
219: escapes the
220: .Sq Li \&.
221: which would otherwise match any character.
222: .Pp
223: A simple example of an extended regular expression:
224: .Pp
225: .Dl egrep '19|20|25' calendar
226: .Pp
227: Peruses the file calendar looking for either 19, 20
228: or 25.
229: .Sh SEE ALSO
230: .Xr ed 1 ,
231: .Xr ex 1 ,
232: .Xr sed 1
233: .Sh HISTORY
234: .Nm Grep
235: appeared in Version 6 AT&T Unix.
236: .Sh BUGS
237: Lines are limited to 256 characters; longer lines are truncated.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.