]> git.pld-linux.org Git - packages/grep.git/blob - grep.1.pl
- using %{_target} macro
[packages/grep.git] / grep.1.pl
1 .\" T³umaczenie: Gwidon S. Naskrent (naskrent@hoth.amu.edu.pl), IX 1998
2 .\" {PTM/GSN/0.5/23-02-1999/"wypisz linie pasuj±ce do wzorca"}
3 .TH grep 1 "26 wrzesieñ 1998" "GNU Project"
4 .SH OPIS
5 grep, egrep, fgrep \- wypisz linie pasuj±ce do wzorca
6 .SH SK£ADNIA
7 .B grep
8 [-[AB] NUM] [-CEFGVbchiLlnqsvwxyUu] [-e WZÓR | -f PLIK]
9 [--extended-regexp] [--fixed-strings] [--basic-regexp]
10 [--regexp=WZÓR] [--file=PLIK] [--ignore-case] [--word-regexp]
11 [--line-regexp] [--line-regexp] [--no-messages] [--revert-match]
12 [--version] [--help] [--byte-offset] [--line-number]
13 [--with-filename] [--no-filename] [--quiet] [--silent]
14 [--files-without-match] [--files-with-matcces] [--count]
15 [--before-context=NUM] [--after-context=NUM] [--context]
16 [--binary] [--unix-byte-offsets]
17 .I pliki...
18 .SH OPIS
19 .PP
20 .B grep
21 przeszukuje nazwane pliki wej¶ciowe (lub standardowe wej¶cie je¶li
22 nie podano ¿adnych, lub podano nazwê pliku '\-'), szukaj±c linii
23 zawieraj±cych co¶ pasuj±cego do podanego wzoru.  Domy¶lnie,
24 .B grep
25 wypisuje linie pasuj±ce.
26 .PP
27 Istniej± trzy g³ówne warianty
28 .BR grepa ,
29 kontrolowane przez nastêpuj±ce opcje:
30 .PD 0
31 .TP
32 .B \-G, --basic-regexp
33 Interpretuj
34 .I wzór
35 jako podstawowe wyra¿enie regularne (zobacz ni¿ej).  Jest to zachowanie
36 domy¶lne.
37 .TP
38 .B \-E, --extended-regexp
39 Interpretuj
40 .I wzór
41 jako rozszerzone wyra¿enie regularne (patrz ni¿ej).
42 .TP
43 .B \-F, --fixed-strings
44 Interpretuj
45 .I wzór
46 jako listê ³añcuchów o sta³ej d³ugo¶ci, oddzielonych znakami nowej
47 linii, które nale¿y dopasowaæ ka¿dy z osobna.
48 .LP
49 Dodatkowo dostêpne s± dwa programy wariantowe
50 .B egrep
51 i
52 .BR fgrep .
53 .B egrep
54 jest podobny (ale nie identyczny) do
55 .BR "grep\ \-E" ,
56 i jest kompatybilny z historycznym
57 .B egrep 
58 Unixowym.
59 .B Fgrep
60 jest tym samym co
61 .BR "grep\ \-F" .
62 .PD
63 .LP
64 Wszystkie warianty
65 .B grepa
66 rozumiej± nastêpuj±ce opcje:
67 .PD 0
68 .TP
69 .BI \- NUM
70 Pasuj±ce linie zostan± wypisane z 
71 .I NUM
72 linii poprzedzaj±cego i nastêpuj±cego kontekstu.
73 .B grep
74 jednak nie wypisze ¿adnej linii wiêcej ni¿ jeden raz.
75 .TP
76 .BI \-A " NUM" ", --after-context=" NUM
77 Wypisz
78 .I NUM
79 linii nastêpuj±cego kontekstu po pasuj±cych liniach.
80 .TP
81 .BI \-B " NUM" ", --before-context=" NUM
82 Wypisz
83 .I NUM
84 linii poprzedzaj±cego kontekstu przed pasuj±cymi liniami.
85 .TP
86 .B \-C, --context
87 Równowa¿ne
88 .BR \-2 .
89 .TP
90 .B \-V, --version
91 Wypisz numer wersji
92 .B grepa
93 na standardowy b³±d.  Ów numer wersji powinien zostaæ za³±czony do
94 wszystkich raportów o b³êdach (patrz ni¿ej).
95 .TP
96 .B \-b, --byte-offset
97 Wypisz offset bajtowy w pliku wej¶ciowym przed ka¿d± lini± wyj¶cia.
98 .TP
99 .B \-c, --count
100 Wy³±cz normalne wyj¶cie; zamiast niego wypisuj liczbê pasuj±cych linii
101 dla ka¿dego pliku wej¶ciowego.
102 Z opcj±
103 .B \-v, --revert-match
104 (patrz ni¿ej), policz linie niepasuj±ce.
105 .TP
106 .BI \-e " WZÓR" ", --regexp=" WZÓR
107 U¿yj
108 .I WZÓR
109 jako wzoru; u¿yteczne do ochronienia wzorów zaczynaj±cych siê od
110 .BR \- .
111 .TP
112 .BI \-f " PLIK" ", --file=" PLIK
113 Pobierz wzory z
114 .IR PLIK ,
115 po jednym z ka¿dej linii.  Plik pusty zawiera zero wzorów, nie pasuj±c
116 do niczego.
117 .TP
118 .B \-h, --no-filename
119 Wy³±cz prefiksowanie nazw plików w wyj¶ciu podczas przeszukiwania wielu
120 plików.
121 .TP
122 .B \-i, --ignore-case
123 Ignoruj ro¿ró¿nienia w wielko¶ci liter we
124 .I wzór
125 oraz w plikach wej¶ciowych.
126 .TP
127 .B \-L, --files-without-match
128 Wy³±cz normalne wyj¶cie; zamiast niego wypisz nazwê ka¿dego pliku
129 z którego normalnie nie wypisano by ¿adnego wyj¶cia.  Przeszukiwanie
130 zakoñczy siê na pierwszej pasuj±cej linii.
131 .TP
132 .B \-l, --files-with-matches
133 Wy³±cz normalne wyj¶cie; zamiast niego wypisz nazwê ka¿dego pliku
134 z którego normalnie wypisano by jakie¶ wyj¶cie.  Przeszukiwanie
135 zakoñczy siê na pierwszej pasuj±cej linii.
136 .TP
137 .B \-n, --line-number
138 Poprzed¼ ka¿da liniê wyj¶cia numerem linii w odpowiednim pliku
139 wej¶ciowym.
140 .TP
141 .B \-q, --quiet
142 Po cichu; wy³±cz normalne wyj¶cie.  Przeszukiwanie zakoñczy siê na
143 pierwszej pasuj±cej linii.
144 .TP
145 .B \-s, --silent
146 Wy³±cz komunikaty b³êdów o plikach nieistniej±cych lub nie do odczytania.
147 .TP
148 .B \-v, --revert-match
149 Odwróc sens dopasowania, wybieraj linie niepasuj±ce.
150 .TP
151 .B \-w, --word-regexp
152 Wybieraj tylko te linie które zawieraj± wzory tworz±ce ca³e s³owa.
153 Test przeprowadzany polega na tym ¿e dopasowywany podci±g musi albo 
154 znajdowaæ siê na pocz±tku linii, albo byæ poprzedzony znakiem nie
155 tworz±cym s³owa.  Podobnie, musi albo znajdowaæ siê na koñcu linii,
156 albo musi nastêpowaæ po nim znak nie tworz±cy s³owa.  Znakami
157 tworz±cymi s³owa s± litery, cyfry i znak podkre¶lenia.
158 .TP
159 .B \-x, --line-regexp
160 Wybierz tylko te dopasowania które dok³adnie pasuj± do ca³ej linii.
161 .TP
162 .B \-y
163 Przestarza³y synonim
164 .BR \-i .
165 .TP
166 .B \-U, --binary
167 Potraktuj plik jako binarny.  Domy¶lnie, w DOSie i MS Windows,
168 .BR grep
169 zgaduje typ pliku spogl±daj±c na zawarto¶æ pierwszych 32 kB przeczytanych
170 z pliku.  Je¶li
171 .BR grep
172 zdecyduje ¿e plik jest tekstem, udziera znaki CR z oryginalnej zawarto¶ci
173 pliku (po to ¿eby wyra¿enia regularne z
174 .B ^
175 i
176 .B $
177 dzia³a³y poprawnie).  Podanie
178 .B \-U
179 wy³±cza to zgadywanie, powoduj±c ¿e wszystkie pliki s± czytane i
180 przekazywane mechanizmowi dopasowywuj±cemu jak leci; je¶li plik jest
181 plikiem tekstowym z parami CR/LF na koñcu linii, spowoduje to ¿e 
182 niektóre wyra¿enia regularne nie zadzia³aj±.  Opcja ta jest dostêpna
183 tylko w DOSie i MS Windows.
184 .TP
185 .B \-u, --unix-byte-offsets
186 Raportuj offsety bajtowe w stylu Unixowym.  Prze³±cznik ten powoduje ¿ê
187 .B grep
188 raportuje offsety bajtowe tak jakby plik by³ plikiem tekstowym w stylu
189 Unixowym, tj. z udartymi znakami CR.  Da to rezultaty identyczne z
190 uruchamianiem 
191 .B grepa
192 na maszynie Unixowej.  Opcja ta nie wywo³uje ¿adnego efektu, chyba ¿e u¿yto
193 tak¿e opcji
194 .BR \-b ;
195 dostêpna jest ona tylko w DOSie i MS Windows.
196 .PD
197 .SH "WYRA¯ENIA REGULARNE"
198 .PP
199 Wyra¿enie regularne to wzór opisuj±cy zbiór ³añcuchów.  Wyra¿enia
200 regularne s± zbudowane analogicznie do wyra¿eñ arytmetycznych,
201 u¿ywaj±c ró¿nych operatorów do po³±czenia mniejszych wyra¿eñ.
202 .PP
203 .B grep
204 rozumie dwie ró¿ne wersje sk³adni wyra¿eñ regularnych: "podstawow±"
205 i "z³o¿on±".  W
206 .RB "GNU\ " grep ,
207 nie ma ró¿nicy w dostêpnej funkcjonalno¶ci kiedy u¿ywa siê jednej
208 ze sk³adni.  W innych implementacjach podstawowe wyra¿enia regularne
209 s± mniej wszechstronne.  Poni¿szy opis stosuje siê do rozszerzonych
210 wyra¿eñ regularnych; ró¿nice w stosunku do wyra¿eñ bazowych podsumowano
211 na koñcu.
212 .PP
213 Fundamentalne "cegie³ki" to wyra¿enia regularne pasuj±ce do pojedynczego
214 znaku.  Wiêkszo¶æ znaków, w tym wszystkie litery i cyfry, to wyra¿enia
215 regularne pasuj±ce do samych siebie.  Ka¿dy metaznak maj±cy specjalne
216 znaczenie mo¿e byæ cytowany przez poprzedzenie go backslashem.
217 .PP
218 Lista znaków zwarta miêdzy
219 .B [
220 a
221 .B ]
222 pasuje do ka¿dego pojedynczego znaku na tej li¶cie; je¶li pierwszym znakiem
223 listy jest daszek
224 .BR ^ ,
225 pasuje wtedy ona do ka¿dego znaku
226 .I nie
227 znajduj±cego siê na li¶cie.  Dla przyk³adu, wyra¿enie regularne
228 .B [0123456789]
229 pasuje do ka¿dej pojedynczej cyfry.  Zakres znaków ASCII podaæ mo¿na
230 okre¶laj±c znak pierwszy i ostatni, oddzielone my¶lnikiem.
231 Niektóre w koñcu nazwane klasy znaków s± predefiniowane.  Ich nazwy
232 mówi± same za siebie, i s± to:
233 .BR [:alnum:] ,
234 .BR [:alpha:] ,
235 .BR [:cntrl:] ,
236 .BR [:digit:] ,
237 .BR [:graph:] ,
238 .BR [:lower:] ,
239 .BR [:print:] ,
240 .BR [:punct:] ,
241 .BR [:space:] ,
242 .BR [:upper:] ,
243 oraz
244 .BR [:xdigit:].
245 Na przyk³ad
246 .B [[:alnum:]]
247 oznacza
248 .BR [0-9A-Za-z] ,
249 z tym wyj±tkiem ¿e ta druga forma zale¿y od kodowania znaków ASCII, podczas
250 gdy format jest przeno¶ny (zauwa¿ ¿e nawiasy w tych nazwach klas s±
251 czê¶ci± nazw symbolicznych, i musz± byæ za³±czone, razem z nawiasami
252 ograniczaj±cymi listê w nawiasach).  Wiêkszo¶æ metaznaków traci swoje
253 szczególne znaczenie wewn±trz list.  Aby umie¶ciæ tam dos³owny
254 .BR ] ,
255 umie¶æ go jako pierwszy na li¶cie.  Podobnie, aby umie¶ciæ dos³owny
256 .BR ^ ,
257 umie¶æ go gdziekolwiek poza pierwszym miejscem.  W koñcu, aby umie¶ciæ
258 dos³owny
259 .BR \- ,
260 umie¶æ go na ostatku.
261 .PP
262 Kropka
263 .B .
264 pasuje do ka¿dego pojedynczego znaku.
265 Symbol
266 .B \ew
267 to synonim
268 .B [[:alnum:]]
269 a
270 .B \eW
271 to synonim
272 .BR [^[:alnum]] .
273 .PP
274 Daszek
275 .B ^
276 oraz znak dolara
277 .B $
278 s± metaznakami które pasuj± odpowiednio do ³añcucha pustego na pocz±tku
279 i na koñcu linii.  Symbole
280 .B \e<
281 oraz
282 .B \e>
283 pasuj± odpowiednio do ³añcucha pustego na pocz±tku i na koñcu s³owa.
284 Symbol
285 .B \eb
286 pasuje do ³añcucha pustego na krawêdzi s³owa, za¶
287 .B \eB
288 pasuje do pustego ³añcucha zak³adaj±c ¿e 
289 .I nie
290 jest on na krawêdzi s³owa.
291 .PP
292 Po wyra¿eniu regularnym mo¿e nastêpowaæ jeden z kilku operatorów
293 powtórzenia:
294 .PD 0
295 .TP
296 .B ?
297 Poprzedzaj±cy element jest opcjonalny i pasuje co najmniej raz.
298 .TP
299 .B *
300 Poprzedzaj±cy element bêdzie dopasowany zero lub wiêcej razy.
301 .TP
302 .B +
303 Poprzedzaj±cy element bêdzie dopasowany jeden lub wiêcej razy.
304 .TP
305 .BI { n }
306 Poprzedzaj±cy element pasuje dok³adnie 
307 .I n
308 razy.
309 .TP
310 .BI { n ,}
311 Poprzedzaj±cy element pasuje
312 .I n
313 lub wiêcej razy
314 .TP
315 .BI {, m }
316 Poprzedzaj±cy element jest opcjonalny i pasuje co najwy¿ej
317 .I m
318 razy.
319 .TP
320 .BI { n , m }
321 Poprzedzaj±cy element pasuje co najmniej
322 .I n
323 razy, ale nie wiêcej ni¿
324 .I m
325 razy.
326 .PD
327 .PP
328 Dwa wyra¿enia regularne mo¿na do siebie dodaæ; wynikowe wyra¿enie
329 regularne pasuje do ka¿dego ci±gu utworzonego poprzez dodanie
330 dowolnych dwóch ci±gów które odpowiednio pasuj± do dodanych
331 podwyra¿eñ.
332 .PP
333 Dwa wyra¿enia regularne mo¿na po³±czyæ operatorem infiksowym
334 .BR | ;
335 wynikowe wyra¿enie regularne pasuje do dowolnego ci±gu pasuj±cego
336 do jednego z podwyra¿eñ.
337 .PP
338 Powtarzanie bierze priorytet nad dodawaniem, które z kolei bierze
339 górê nad przemienno¶ci±.  Ca³e wyra¿enie regularne mo¿na uj±æ
340 w nawiasy, celem uniewa¿nienia tych regu³ priorytetowych.
341 .PP
342 Wsteczne odniesienie
343 .BI \e n\c
344 \&, gdzie
345 .I n
346 jest pojedyncz± cyfr±, pasuje do podci±gu poprzednio pasuj±cego do
347 .IR n \-tego
348 ujêtego w nawiasy podwyra¿enia wyra¿enia regularnego.
349 .PP
350 W podstawowych wyra¿eniach regularnych metaznaki
351 .BR ? ,
352 .BR + ,
353 .BR { ,
354 .BR | ,
355 .BR ( ,
356 oraz
357 .BR )
358 trac± swoje szczególne znaczenie; zamiast nich u¿yj wersji z backslashem:
359 .BR \e? ,
360 .BR \e+ ,
361 .BR \e{ ,
362 .BR \e| ,
363 .BR \e( ,
364 oraz
365 .BR \e) .
366 .PP
367 W
368 .B egrepie
369 metaznak
370 .B {
371 traci swoje szczególne znaczenie; u¿yj zamiast niego
372 .BR \e{ .
373 .SH DIAGNOSTYKA
374 .PP
375 Normalnie status wyj¶ciowy równa siê 0 je¶li znaleziono dopasowania,
376 i 1 je¶li nie znaleziono ¿adnych.  Opcja
377 .B \-v
378 odwraca sens statusu wyj¶ciowego.  Status wyj¶ciowy równa siê 2 je¶li
379 wyst±pi³y b³êdy sk³adniowe we wzorze, niedostêpne pliki wej¶ciowe lub
380 inne b³êdy systemowe.
381 .SH B£ÊDY
382 .PP
383 Emailuj raporty o b³êdach do
384 .BR bug-gnu-utils@gnu.org .
385 Upewnij siê ¿e umie¶ci³e¶ s³owo "grep" gdzie¶ w polu "Subject:"
386 .PP
387 Du¿e liczniki powtórzeñ w konstrukcji
388 .BI { m , n }
389 mog± spowodowaæ ¿e grep zu¿yje mnóstwo pamiêci.  Dodatkowo, pewne
390 inne niejasne wyra¿enia regularne wymagaj± czasu i przestrzeni
391 rosn±cej wyk³adnikowo, i mog± spowodowaæ ¿e
392 .B grepowi
393 zabraknie pamiêci.
394 .PP
395 Wsteczne odwo³ania s± bardzo powolne, i mog± wymagaæ czasu rosn±cego
396 wyk³adnikowo.
This page took 0.119559 seconds and 3 git commands to generate.