Provided by:
manpages-pl_20060617-3_all 
NAZWA
grep, egrep, fgrep - wypisz linie pasujce do wzorca
SK/LADNIA
grep [opcje] wzorzec [plik...]
grep [opcje] [-e wzorzec | -f plik] [plik...]
OPIS
grep przeszukuje wskazane pliki wejciowe (lub standardowe wejcie jeli
nie podano adnych lub podano nazw pliku '-'), szukajc linii
zawierajcych co pasujcego do podanego wzorca. Domylnie, grep wypisuje
pasujce linie.
Dodatkowo dostpne s dwa programy wariantowe egrep i fgrep. Egrep jest
tym samym, co grep -E. Fgrep jest tym samym, co grep -F.
OPCJE
-A num, --after-context=num
Wypisuje po pasujcych liniach num linii nastpujcego kontekstu.
-a, --text
Przetwarza plik binarny tak, jakby byl on tekstowy; jest to
rownowanik opcji --binary-fnums=text.
-B num, --before-context=num
Wypisuje przed pasujcymi liniami num linii poprzedzajcego
kontekstu.
-C [num], -num, --context[=num]
Wypisuje num linii (domylnie 2) kontekstu w wyjciu.
-b, --byte-offset
Wypisuje przed kad lini wyjcia jej offset bajtowy w pliku
wejciowym.
--binary-files=typ
Jeli pierwszych kilka bajtow pliku wskazuje, e zawiera on dane
binarne, to zakladane jest, e jest to plik typu typ. Domylnym
typem jest binarny (binary), a grep normalnie albo wypisuje
jednolinijkowy komunikat mowicy o dopasowaniu pliku binarnego,
albo nie wypisuje komunikatu, gdy nie znaleziono dopasowania.
Jeeli typem jest without-match (bez dopasowania), to grep
zaklada, e ten plik binarny nie pasuje; jest to rownowane
dzialaniu opcji -I. Jeli typem jest text, to grep przetwarza
plik binarny tak, jakby byl on tekstowy; jest to rownowane opcji
-a. Ostrzeenie: Moe si zdarzy, e wypisane przez grep --binary-
files=text miecie binarne dadz przykre skutki uboczne jeeli
wyjciem bdzie terminal a jego sterownik zinterpretuje niektore z
nich jako swoje polecenia.
-c, --count
Wylcza normalne wyjcie; zamiast niego dla kadego pliku
wejciowego wypisuje liczb pasujcych linii. Z opcj -v, --invert-
match (patrz niej), liczy linie niepasujce.
-d akcja, --directories=akcja
Jeli plik wejciowy jest katalogiem, stosuje to jego
przetworzenia akcj. Domyln akcj jest read, co znaczy, e
katalogi s czytane dokladnie tak samo, jakby byly zwyklymi
plikami. Jeli wartoci akcji jest skip, to katalogi s milczco
pomijane. Jeli wartoci akcji jest recurse, to grep czyta
wszystkie pliki pod kadym katalogiem, rekurencyjnie; jest to
rownowane opcji -r.
-E, --extended-regexp
Interpretuje wzorzec jako rozszerzone wyraenie regularne (patrz
niej).
-e wzorzec, --regexp=wzorzec
Uywa wzorca jako wzorca; uyteczne do ochronienia wzorow
zaczynajcych si od -.
-F, --fixed-strings
Interpretuje wzorzec jako list lacuchow o stalej dlugoci,
oddzielonych znakami nowej linii, ktore naley dopasowa kady z
osobna.
-f plik, --file=plik
Pobiera wzorce z plik, po jednym z kadej linii. Plik pusty
zawiera zero wzorcow, nie pasujc do niczego.
-G, --basic-regexp
Interpretuje wzorzec jako podstawowe wyraenie regularne (zobacz
niej). Jest to zachowanie domylne.
-H, --with-filename
Dla kadego dopasowania wypisuje nazw pliku.
-h, --no-filename
-h, --no-filename Wylcza poprzedzanie wynikow nazwami plikow
podczas przeszukiwania wielu plikow.
--help Wypisuje krotki tekst pomocy.
-I Przetwarza plik binarny tak, jakby nie zawieral on pasujcych
danych; jest to rownowane opcji --binary-files=without-match.
-i, --ignore-case
Ignoruje rozronienia w wielkoci liter we wzorcu oraz w plikach
wejciowych.
-L, --files-without-match
Wylcza normalne wyjcie; zamiast niego wypisuje nazw kadego
pliku, z ktorego normalnie nie wypisano by adnego wyjcia.
Przeszukiwanie zakoczy si na pierwszej pasujcej linii.
-l, --files-with-matches
Wylcza normalne wyjcie; zamiast niego wypisuje nazw kadego
pliku, z ktorego normalnie wypisano by jakie wyjcie.
Przeszukiwanie zakoczy si na pierwszej pasujcej linii.
--mmap Jeli to moliwe, do odczytu wejcia korzysta z funkcji systemowej
mmap(2) zamiast domylnej read(2). W pewnych sytuacjach --mmap
daje lepsz wydajno. Moe jednak spowodowa niezdefiniowane
zachowanie (lcznie ze zrzutem rdzenia) jeli podczas dzialania
grep plik wejciowy si skurczy lub wystpi bld wejcia/wyjcia.
-n, --line-number
Poprzedza kad lini wyjcia numerem linii z odpowiedniego pliku
wejciowego.
-q, --quiet, --silent
Po cichu; wylcza normalne wyjcie. Przeszukiwanie zakoczy si na
pierwszej pasujcej linii. Zobacz take poniej opcje -s lub --no-
messages.
-r, --recursive
Czyta wszystkie pliki pod kadym katalogiem, rekurencyjnie; jest
to rownowane opcji -d recurse.
-s, --no-messages
Wylcza komunikaty bldow o plikach nieistniejcych lub nie do
odczytania. Uwaga o przenonoci: w przeciwiestwie do GNU grep,
tradycyjny grep nie byl zgodny z POSIX.2, gdy brakowalo mu opcji
-q a opcja -s zachowywala si jak opcja -q z GNU grep. Skrypty
powloki, ktore maj by przenone na tradycyjny grep powinny unika
zarowno -q, jak i -s i zamiast tego przekierowywa wyjcie do
/dev/null.
-U, --binary
Traktuje plik jako binarny. Domylnie, w DOS-ie i MS Windows,
grep zgaduje typ pliku spogldajc na zawarto pierwszych 32 kB
przeczytanych z pliku. Jeli zdecyduje, e plik jest tekstowy,
udziera znaki CR z oryginalnej zawartoci pliku (po to eby
wyraenia regularne z ^ i $ dzialaly poprawnie). Podanie -U
wylcza to zgadywanie, powodujc, e wszystkie pliki s czytane i
przekazywane mechanizmowi dopasowywujcemu doslownie; jeli plik
jest plikiem tekstowym z parami CR/LF na kocu linii, spowoduje
to, e niektore wyraenia regularne nie zadzialaj. Opcja ta nie
dziala na platformach innych ni MS-DOS i MS Windows.
-u, --unix-byte-offsets
Raportuje offsety bajtowe w stylu Unixowym. Przelcznik ten
powoduje, e grep raportuje offsety bajtowe tak, jakby plik byl
plikiem tekstowym typu Uniksowego, tj. z udartymi znakami CR.
Da to rezultaty identyczne jak uruchomienie grepa na maszynie
Uniksowej. Opcja ta nie wywoluje adnego efektu, chyba e uyto
take opcji -b; nie dziala na platformach innych ni MS-DOS i MS
Windows.
-V, --version
Wypisuje numer wersji grepa na standardowe wyjcie bldow. Ow
numer wersji powinno si zalcza we wszystkich zgloszeniach bldow
(patrz niej).
-v, --invert-match
Odwraca sens dopasowania, wybiera linie niepasujce.
-w, --word-regexp
Wybiera tylko te linie, w ktorych dopasowania wzorca tworz cale
slowa. Przeprowadzany test polega na tym, e dopasowywany podcig
musi albo znajdowa si na pocztku linii, albo by poprzedzony
znakiem nie tworzcym slowa. Podobnie, musi albo znajdowa si na
kocu linii, albo musi nastpowa po nim znak nie tworzcy slowa.
Znakami tworzcymi slowa s litery, cyfry i znak podkrelenia.
-x, --line-regexp
Wybiera tylko te dopasowania, ktore dokladnie pasuj do calej
linii.
-y Przestarzaly synonim -i.
-Z, --null
Zamiast znaku, ktory normalnie wystpuje po nazwie pliku wypisuje
bajt zerowy ( ASCII NUL). Na przyklad, grep -lZ wypisuje po
nazwie pliku bajt zerowy, zamiast, jak zwykle, znaku nowej
linii. Opcja ta powoduje, e wyjcie jest jednoznaczne, nawet
przy nazwach plikow zawierajcych niecodzienne znaki, jak znak
nowej linii. Moe by wykorzystywana z poleceniami typu: find
-print0, perl -0, sort -z czy xargs -0, umoliwiajc przetwarzanie
plikow o dowolych nazwach, nawet zawierajcych znaki nowej linii.
WYRAENIA REGULARNE
Wyraenie regularne to wzorzec opisujcy zbior lacuchow. Wyraenia
regularne s zbudowane analogicznie do wyrae arytmetycznych, przez
zastosowanie do polczenia mniejszych wyrae rozmaitych operatorow.
grep rozumie dwie rone wersje skladni wyrae regularnych: "podstawow" i
"rozszerzon". W GNU.B grep obie te skladnie przy uyciu nie roni si
zakresem dostpnych moliwoci. W innych implementacjach podstawowe
wyraenia regularne s mniej rozbudowane. Poniszy opis stosuje si do
rozszerzonych wyrae regularnych; ronice w stosunku do wyrae
podstawowych podsumowano na kocu.
Fundamentalnymi "cegielkami" s wyraenia regularne pasujce do
pojedynczego znaku. Wikszo znakow, w tym wszystkie litery i cyfry, to
wyraenia regularne pasujce do samych siebie. Kady metaznak majcy
specjalne znaczenie moe by cytowany przez poprzedzenie go odwrotnym
ukonikiem.
Lista znakow zawarta midzy [ a ] pasuje do kadego pojedynczego znaku na
tej licie; jeli pierwszym znakiem listy jest daszek ^, pasuje wtedy ona
do kadego znaku nie znajdujcego si na licie. Dla przykladu, wyraenie
regularne [0123456789] pasuje do kadej pojedynczej cyfry. Zakres
znakow ASCII poda mona okrelajc znak pierwszy i ostatni, oddzielone
mylnikiem. I na koniec: predefiniowano pewne nazwane klasy znakow.
Ich nazwy mowi same za siebie, i s to: [:alnum:], [:alpha:], [:cntrl:],
[:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:],
[:upper:] oraz [:xdigit:]. Na przyklad [[:alnum:]] oznacza [0-9A-Za-
z], z tym wyjtkiem, e ta druga forma zaley od kodowania znakow ASCII i
ustawie regionalnych POSIX (locale), podczas gdy pierwsza jest
przenona. (Zauwa, e nawiasy kwadratowe w nazwach klas s czci nazw
symbolicznych i musz by umieszczone dodatkowo, oprocz pary nawiasow
ograniczajcej sam list). Wikszo metaznakow traci swoje szczegolne
znaczenie wewntrz list. Aby umieci tam doslowny ], umie go jako
pierwszy na licie. Podobnie, aby umieci doslowny ^, umie go
gdziekolwiek poza pierwszym miejscem. W kocu, aby umieci doslowny -,
umie go na ostatku.
Kropka . pasuje do kadego pojedynczego znaku. Symbol \w to synonim
[[:alnum:]] a \W to synonim [^[:alnum]].
Daszek ^ oraz znak dolara $ s metaznakami, ktore pasuj odpowiednio do
lacucha pustego na pocztku i na kocu linii. Symbole \< oraz \> pasuj
odpowiednio do lacucha pustego na pocztku i na kocu slowa. Symbol \b
pasuje do lacucha pustego na krawdzi slowa, za \B pasuje do pustego
lacucha zakladajc, e nie jest on na krawdzi slowa.
Po wyraeniu regularnym moe nastpowa jeden z kilku operatorow
powtorzenia:
? Poprzedzajcy element jest opcjonalny i pasuje nie wicej ni raz.
* Poprzedzajcy element bdzie dopasowany zero lub wicej razy.
+ Poprzedzajcy element bdzie dopasowany jeden lub wicej razy.
{n} Poprzedzajcy element pasuje dokladnie n razy.
{n,} Poprzedzajcy element pasuje n lub wicej razy.
{,m} Poprzedzajcy element jest opcjonalny i pasuje co najwyej m razy.
{n,m} Poprzedzajcy element pasuje co najmniej n razy, ale nie wicej ni
m razy.
Dwa wyraenia regularne mona ze sob zlczy (skonkatenowa); do wynikowego
wyraenia regularnego pasuje kady cig utworzony przez zlczenie dowolnych
dwoch cigow, ktore odpowiednio pasuj do zlczonych podwyrae.
Dwa wyraenia regularne mona polczy operatorem infiksowym (wrostkowym)
|; do wynikowego wyraenia regularnego pasuje dowolny cig pasujcy do
jednego bd do drugiego z podwyrae.
Powtarzanie ma priorytet nad lczeniem, ktore z kolei bierze gor nad
alternatyw. Cale wyraenie regularne mona uj w nawiasy, celem
uniewanienia tych regul priorytetowych.
Wsteczne odniesienie \n, gdzie n jest pojedyncz cyfr, dopasowuje podcig
poprzednio dopasowany n-tym ujtym w nawiasy podwyraeniem wyraenia
regularnego.
W podstawowych wyraeniach regularnych metaznaki ?, +, {, |, ( oraz )
trac swoje szczegolne znaczenie; zamiast nich naley uy wersji z
odwrotnym ukonikiem: \?, \+, \{, \|, \( oraz \).
Tradycyjny egrep nie traktuje { jako metaznaku. Niektore implementacje
udostpniaj zamiast niego \{, wic przenone skrypty powinny unika { we
wzorcach egrep, a do dopasowywania doslownego znaku { stosowa [{].
GNU egrep usiluje obslugiwa tradycyjny sposob uycia zakladajc, e { nie
posiada szczegolnego znaczenia jeli bylby on pocztkiem nieprawidlowego
okrelenia liczby powtorze. Na przyklad, polecenie powloki egrep '{1'
szuka dwuznakowego lacucha {1, zamiast zglasza bld skladni w wyraeniu
regularnym. POSIX.2 pozwala na takie zachowanie jako rozszerzenie
standardu, ale przenone skrypty powinny go unika.
ZMIENNE RODOWISKA
GREP_OPTIONS
Ta zmienna okrela domylne opcje, jakie zostan umieszczone przed
wszystkimi opcjami podanymi wprost. Na przyklad, jeli
GREP_OPTIONS jest rowne '--binary-files=without-match
--directories=skip', to grep zachowa si tak, jakby podano
--binary-files=without-match i --directories=skip przed
ewentualnymi jawnymi opcjami. Okrelenia opcji oddziela si
bialymi znakami. Odwrotny ukonik cytuje nastpny znak, zatem
mona go wykorzysta do podania opcji zawierajcej bialy znak lub
odwrotny ukonik.
LC_ALL, LC_MESSAGES, LANG
Te zmienne podaj ustawienie regionalne (locale) LC_MESSAGES,
okrelajce jzyk, jakiego grep ma uy w komunikatach. Ustawienie
locale jest okrelane przez pierwsz z tych zmiennych, ktora ma
nadan warto. Jeli nie istnieje adna z nich, to stosowana jest
amerykaska odmiana angielskiego. Dzieje si tak rownie w
przypadku, gdy nie zainstalowano katalogu z komunikatami lub
jeli grep nie zostal skompilowany z obslug jzykow narodowych
(NLS).
LC_ALL, LC_CTYPE, LANG
Te zmienne podaj ustawienie regionalne (locale) LC_CTYPE
okrelajce typ znakow, np. ktore z nich s bialymi znakami.
Ustawienie locale jest okrelane przez pierwsz z tych zmiennych,
ktora ma nadan warto. Jeli nie istnieje adna z nich, to
stosowane jest ustawienie POSIX. Dzieje si tak rownie w
przypadku, gdy nie zainstalowano katalogu z komunikatami lub
jeli grep nie zostal skompilowany z obslug jzykow narodowych
(NLS).
POSIXLY_CORRECT
Jeli jest ustawiona, to grep zachowuje si zgodnie z wymaganiami
POSIX.2; w przeciwnym razie grep zachowuje si bardziej jak inne
programy GNU. POSIX.2 da, by opcje, ktore wystpuj po nazwach
plikow byly traktowane jak nazwy plikow. Domylnie za, opcje
takie s przesuwane na pocztek listy argumentow i traktowane jak
opcje. Ponadto, POSIX.2 wymaga, by nierozpoznane opcje byly
zglaszane jako "nielegalne" ("illegal"), ale poniewa tak naprawd
nie naruszaj one prawa, domylnie zglaszane s jako
"nieprawidlowe" ("invalid"). POSIXLY_CORRECT wylcza take
_N_GNU_nonoption_argv_flags_, opisane poniej.
_N_GNU_nonoption_argv_flags_
(Tu N jest numerycznym identyfikatorem procesu grepa). Jeli i-
tym znakiem wartoci tej zmiennej rodowiska jest 1, to i-ty
argument przekazany do grep nie jest uwaany za opcj, nawet jeli
na ni wyglda. Powloka moe umieci t zmienn w rodowisku dla
kadego polecenia, jakie uruchamia, podajc, ktore argumenty s
wynikiem rozwinicia nazw plikow i std nie powinny by traktowane
jako opcje. Zachowanie to jest dostpne tylko z bibliotek GNU C
i tylko wtedy gdy nie ustawiono POSIXLY_CORRECT.
DIAGNOSTYKA
Normalnie status zakoczenia rowna si 0 jeli znaleziono dopasowania, a 1
jeli nie znaleziono adnych. Opcja -v odwraca sens statusu zakoczenia.
Status zakoczenia rowna si 2 jeli wystpily bldy skladniowe we wzorcu,
niedostpne pliki wejciowe lub inne bldy systemowe.
B/LDY
Zgloszenia bldow wysylaj, prosz, do bug-gnu-utils@gnu.org. Upewnij si,
e gdzie w polu tematu ("Subject:") umiecile slowo "grep".
Due liczniki powtorze w konstrukcji {m,n} mog spowodowa, e grep zuyje
mnostwo pamici. Oprocz tego, pewne inne niejasne wyraenia regularne
wymagaj czasu i przestrzeni rosncej wykladniczo i mog spowodowa, e
grepowi zabraknie pamici.
Wsteczne odwolania s bardzo powolne i mog wymaga czasu rosncego
wykladniczo.
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.