File: grep.1

package info (click to toggle)
manpages-hu 20010119-7
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 2,264 kB
  • sloc: makefile: 56; lisp: 56
file content (419 lines) | stat: -rw-r--r-- 9,535 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
.TH GREP 1 "1992 September 10" "GNU Project"
.SH NV
grep, egrep, fgrep \- minthoz illeszked sorokat nyomtat
.SH TTEKINTS
.B grep
[
.BR \- [[ AB "] ]\c"
.I "num"
]
[
.BR \- [ CEFGVBchilnsvwx ]
]
[
.B \-e
]
.I minta
|
.BI \-f file
] [
.I fjlok...
]
.SH LERS
.PP
.B Grep
a megnevezett bemeneti 
.I fjlok
-ban a megadott 
.I mint
-hoz illeszked sorokat keres. Amennyiben nincs bemen fjlnv megadva, vagy
az a
.B \-
jel, a szabvnyos bemenetet olvassa.
Alaprtelmezs szerint 
.B grep
a minthoz illeszked sorokat kinyomtatja.
.PP
Hrom f vltozata van a 
.BR grep
-nek, melyeket a kvetkez opcikkal szablyozhatunk:
.PD 0
.TP
.B \-G
A
.I mint
-t alap szablyos kifejezsknt (basic regular expression) kezeli.
Rszletesebben lsd lentebb. Ez az alaprtelmezett.
.TP
.B \-E
A
.I mint
-t bvtett szablyos kifejezsknt (extended regular expression) 
kezeli. Rszletesebben lsd lentebb.
.TP
.B \-F
A
.I mint
-t fix stringekbl ll listnak veszi, melyek jsor-jelekkel vannak
elvlasztva, s amelyekbl brmelyikhez val illeszkedst keressk.
.LP
Ltezik tovbb kt programvltozat: 
.B egrep
s
.B fgrep .
.B Egrep
hasonl, de nem azonos
.BR "grep\ \-E" ,
-vel s kompatbilis a trtnelmi Unix 
.BR egrep 
-pel.
.B Fgrep
azonos 
.BR "grep\ \-F" 
-fel.
.PD
.LP
A
.B grep
minden vltozata megrti az albbi opcikat:
.PD 0
.TP
.BI \- num
Az illeszkedst mutat sorok krnyezetkkel egytt lesznek kinyomatatva, azaz
ezen sorok eltt s utni 
.I num
szm sor is nyomtatsra kerl. Ekzben a
.B grep
program sosem fog egy sort tbbszr kinyomtatni, mg akkor sem, ha ezek a
krnyezetek tfedik egymst.
.TP
.BI \-A " num"
Az illeszkedst mutat sorok utni 
.I num
sor is nyomtatsra kerl.
.TP
.BI \-B " num"
Az illeszkedst mutat sorok eltti
.I num
sor is nyomtatsra kerl.
.TP
.B \-C
Azonos 
.BR \-2 
-vel.
.TP
.B \-V
Kinyomtatja a 
.B grep
verziszmt a szabvnyos hibakimenetre. Ezt a verziszmot clszer csatolni
minden hibajelentshez. (Lsd lent.)
.TP
.B \-b
A kimeneti sorok eltt kinyomtatja a bemeneti fjlon belli offset rtket.
(Azaz azt, hogy a sor hnyadik bjttal kezddik a fjl kezdete utn.)
.TP
.B \-c
Elhagyja a szoksos kimenetet, ehelyett az illeszkedst mutat sorok 
szmt rja ki minden fjl esetre.
A
.B \-v
opcival (lsd lent), a nem illeszked sorokat szmolja.
.TP
.BI \-e " minta"
A
.I mint
-t hasznlja mintnak. Hasznos, ha a minta 
.BR \-
jellel kezddik.
.TP
.BI \-f " fjl"
A mintt a 
.IR fjl 
-bl veszi.
.TP
.B \-h
Tbb fjlban val keresskor elhagyja a kimeneten a fjlnevek sor 
eleji kirst.
.TP
.B \-i
Nem klnbzteti meg a kis- s nagybetket sem a 
.I mint
-ban, sem a bemeneti fjlban.
.TP
.B \-L
Elhagyja a szoksos kimenetet, s csak azon fjlok neveit adja meg,
amelyekbl 
.I nem 
szrmazna kimenet. 
.TP
.B \-l
Elhagyja a szoksos kimenetet, s csak azon fjlok neveit adja meg,
amelyekbl szrmazna kimenet. 
.TP
.B \-n
A kimenet sorai elejn megadja a sor bemeneti fjlon belli szmt.
.TP
.B \-q
Csendes (quiet) zemmd: elhagyja a normlis kimenetet. (Ilyenkor a
.B grep
-nek csak a visszatrsi rtke ad informcit.)
.TP
.B \-s
Elhagyja a nemltez vagy olvashatatlan fjlokrl szl hibajelentseket.
.TP
.B \-v
Megfordtja az illeszkeds rtelmt: a minthoz nem illeszked sorokat 
vlasztja ki.
.TP
.B \-w
Csak azokat a sorokat vlasztja ki, amelyekben az illeszkeds teljes szavakbl
szrmazik. Azaz az illeszkedst mutat szvegrsz eltt s utn nem llhat 
bet, szm vagy alhzsjel.
.TP
.B \-x
Csak teljes sorokkal val illeszkedst vizsgl.
.PD
.SH SZABLYOS KIFEJEZSEK (REGULAR EXPRESSIONS)
.PP
A szablyos kifejezs egy minta, amely a stringeknek egy halmazt rja le. A
szablyos kifejezsek az aritmetikai kifejezsekhez hasonlan
konstrulhatk, azaz klnbz opertorokkal kisebb kifejezsekbl pthetk
fel.
.PP
.B Grep
ktfle vltozatt rti a szablyos kifejezsek nyelvtannak (syntax): 
az ``alap'' (basic) s a ``bvtett'' (extended) vltozatot.
A
.RB "GNU\ " grep
-ben nincs klnbsg a ktfle nyelvtan ltal elrhet funkcikban. Ms
megvalstsokban az alap szablyos kifejezsek kevsb hatkonyak. A
kvetkez lers a bvtett szablyos kifejezsekre vonatkozik; az alap
regulris kifejezseknek ettl val klnbsgeit ezutn sszegezzk.
.PP
Az elemi ptkvek olyan szablyos kifejezsek, melyek egyetlen karakterhez
illeszkednek. A legtbb karakter (pl. a betk s a szmok) szablyos
kifejezsek, melyek nmagukhoz illeszkednek. A specilis jelentssel
rendelkez metakarakterek (pl. a ., *, [ karakterek) el backslash-t kell
rni, hogy specilis jelentsk helyett a karakterhez val illeszkedst
vizsglhassuk. (Pl. a mintban lev \\[ fog illeszkedik a szvegbeli
nyit szgletes zrjellel.)
.PP
A 
.B [
s 
.B ]
jelek kz rt karakterlista illeszkedik a listban szerepl brmely
karakterhez. Amennyiben a lista a
.B ^
jellel kezddik, az illeszkeds a listban 
.I nem
szerepl karakterekkel ll fenn.
Pldul a 
.B [0123456789]
szablyos kifejezs brmely szmjegyhez illeszkedik. 
.P
ASCII karakterek
tartomnya az els s utols karakterek megadsval adhat meg, ha ezeket
`-' jel vlasztja el. (Pl. [a-f] ugyanaz, mint [abcdef].)
.P
Vgl a karakterek nhny specilis osztlya elre definilt nvvel
rendelkezik. (Ezen nevek jelentse angolul magtl rtetd, itt kifejtjk
ket.)
.PD 0
.TP
.BR [:alnum:] 
bet vagy szm
.TP
.BR [:alpha:]
bet
.TP
.BR [:cntrl:]
vezrlkarakter
.TP
.BR [:digit:]
szmjegy
.TP
.BR [:graph:]
grafikus karakter
.TP
.BR [:lower:]
kisbet
.TP
.BR [:print:]
nyomtathat karakter
.TP
.BR [:punct:]
elvlaszt, kzpontoz jel (.,;?!)
.TP
.BR [:space:]
szkz
.TP
.BR [:upper:]
nagybet
.TP
.BR [:xdigit:]
hexadecimlis szm
.PD
.PP
Pdul
.B [[:alnum:]]
jelentse: 
.BR [0-9A-Za-z] ,
azzal a kittellel, hogy az utbbi forma az ASCII kdolstl fgg, mg az
elbbi nem, gy tvihet.
(Megjegyzs: ezen osztlynevekben szerepl zrjelek a szimbolikus nevek
rszei, s a zrjeles listkat hatrol zrjelek mellett ezeket is meg
kell adni.) 
.PP
A legtbb metakarakter elveszti specilis jelentst egy listn bell. Egy 
.B ]
jelet a minta els elemeknt szerepeltetve csatolhatunk a listhoz.
Hasonlan a 
.B ^
jel az els kivtelvel brmely helyre kerlve a `^' jelet fogja jelenteni.
Vgl a `-' jelet a lista utols elemeknt kell rni, ha nem
metakarakterknt akarjuk rtelmezni.
.PP
A pont (
.B .
) minden karakterhez illeszkedik.
A 
.B \ew
szimblum az
.B [[:alnum:]]
szinonmja, mg
.B \eW
ugyanaz, mint
.BR [^[:alnum:]] .
.PP
A
.B ^
s a 
.B $
jelek metakarakterek, melyek rendre a sorkezd s -zr res srtingekhez
illeszkednek.
Hasonlan a 
.B \e<
s
.B \e>
szimblumok a szavak elejnl illetve vgnl tallhat res stringhez
illeszkednek.
A
.B \eb
a szhatron lev res stringhez illeszkedik, mg
.B \eB
a 
.I nem
szhatron lev res stringhez illeszkedik.
.PP
Az egy karakterhez illeszked szablyos kifejezseket a kvetkez ismtlsi
opertorok egyike kvetheti:
.PD 0
.TP
.B ?
Az elz tag opcionlis, s legfeljebb egyszer illeszkedik.
.TP
.B *
Az elz tag nulla vagy tbb alkalommal illeszkedik.
.TP
.B +
Az elz tag egy vagy tbb alkalommal illeszkedik.
.TP
.BI { n }
Az elz tag pontosan 
.I n
alkalommal illeszkedik.
.TP
.BI { n ,}
Az elz tag
.I n
vagy tbb alkalommal illeszkedik.
.TP
.BI {, m }
Az elz tag legfeljebb
.I m
alkalommal illeszkedik. 
.TP
.BI { n , m }
Az elz tag legalbb
.I n
de legfeljebb
.I m
alkalommal illeszkedik. 
.PD
.PP
Kt szablyos kifejezs sszefzhet; a kapott szablyos kifejezs minden
olyan stringhez illeszkedik, amely a kt szablyos kifejezshez illeszked
kt rszstringbl llthat ssze a sorrend megtartsa mellett.
.PP
Kt szablyos kifejezs sszekapcsolhat a
.BR |
infix opertorral; a kapott szablyos kifejezs minden stringhez
illeszkedik, amelyikhez valamelyik rszkifejezs illeszkedik.
.PP
Az ismtls nagyobb precedencij, mint az sszefzs, ami viszont a
vlasztopertornl (azaz |-nl) nagyobb precedencij. Egy rszkifejezs
zrjelbe tehet, hogy fellbrljuk a precedencit.
.PP
A
.BI \e n
visszahivatkozst (backreference) jell, ahol 
.I n
egy szmjegy. Ez illeszkedik ahhoz a stringhez, amely a szablyos kifejezs 
ezt megelz
.IR n 
-edik zrjeles alkifejezshez illeszkedett.
.PP
Az alap szablyos kifejezsekben a 
.BR ? ,
.BR + ,
.BR { ,
.BR | ,
.BR ( ,
s
.BR )
metakarakterek elvesztik specilis jelentsket; helyettk a backslash-es
vltozatukat kell hasznlni:
.BR \e? ,
.BR \e+ ,
.BR \e{ ,
.BR \e| ,
.BR \e( ,
s
.BR \e) .
.PP
Az
.B egrep
programban a 
.B {
metakarakter elveszti specilis jelentst, helyette a 
.BR \e{ 
hasznlhat.
.SH DIAGNOSZTIKA
.PP
ltalban a kilpsi llapot (exit status) 0, ha volt illeszkeds s 1, ha
nem volt egyetlen illeszkeds sem. A
.B \-v
opci megfordtja ennek rtelmt.
.PP
A 2 kilpsi llapot hibt jelez: nyelvtani hiba volt a mintban vagy
elrhetetlen a bemeneti fjl, esetleg ms rendszerhiba trtnt.
.SH HIBK
.PP
A hibajelentsek e-mail-en a 
.BR bug-gnu-utils@prep.ai.mit.edu .
cmre kldendk. Gyzdjn meg rla, hogy a ``grep'' sz szerepel valahol a
``Subject:'' mezben.
.PP
Nagy ismtlsi szmok a 
.BI { m , n }
ismtlsi opertorban nagy memriafelhasznlst eredmnyezhetnek.
Tovbb nhny ms bonyolult szablyos kifejezs exponencilisan nv idt
s trhelyet kvetelhet, s azt eredmnyezheti, hogy a 
.B grep
kifut a memribl.
.PP
A visszahivatkozsok nagyon lassak s exponencilisan nv futsidt
ignyelnek.
.SH MAGYAR FORDTS
Horvth Andrs <horvatha@rs1.szif.hu>