egrep

GREP(1)                     Polecenia użytkownika                     GREP(1)



NAZWA
       grep, egrep, fgrep, rgrep - wypisuje wiersze pasujÄce do wzorca

SKÅADNIA
       grep [OPCJE] WZORZEC [PLIK...]
       grep [OPCJE] [-e WZORZEC | -f PLIK] [PLIK...]

OPIS
       Program grep przeszukuje wskazane PLIKI wejÅciowe (lub standardowe
       wejÅcie, jeÅli nie podano żadnych lub podano nazwÄ pliku pojedynczy
       minus (-) jako nazwÄ pliku) szukajÄc wierszy zawierajÄcych coÅ
       pasujÄcego do podanego WZORCA. DomyÅlnie, grep wypisuje pasujÄce
       wiersze.

       Dodatkowo, dostÄpne sÄ trzy programy wariantowe egrep, fgrep i rgrep.
       Program egrep jest odpowiednikiem grep -E, fgrep jest tym samym, co
       grep -F, a rgrep odpowiada grep -r. BezpoÅrednie wywoÅanie egrep lub
       fgrep jest przestarzaÅe, ale jest zapewnione w celu zachowania
       zgodnoÅci ze starszymi programami.

OPCJE
   Standardowe informacje programu
       --help Wypisuje krótkie podsumowanie poniższych opcji oraz adres do
              przesyÅania informacji o bÅÄdach, po czym wychodzi.

       -V, --version
              Wypisuje numer wersji grepa na standardowe wyjÅcie. Ãw numer
              wersji powinno siÄ doÅÄczaÄ do wszystkich zgÅoszeÅ bÅÄdów
              (patrz niżej).

   Wybór dopasowaÅ
       -E, --extended-regexp
              Interpretuje WZORZEC jako rozszerzone wyrażenie regularne -
              ERE, patrz niżej (-E jest okreÅlone normÄ POSIX).

       -F, --fixed-strings
              Interpretuje WZORZEC jako listÄ ciÄgów (a nie wyrażeÅ
              regularnych) umieszczonych po jednym w każdym wierszu, z
              których dowolny ma zostaÄ dopasowany (-F jest okreÅlone normÄ
              POSIX).

       -G, --basic-regexp
              Interpretuje WZORZEC jako podstawowe wyrażenie regularna - BRE,
              patrz niżej. Jest to zachowanie domyÅlne.

       -P, --perl-regexp
              Interpretuje WZORZEC jako wyrażenie regularne Perla - PCRE,
              patrz niżej. Jest to opcja wysoce eksperymentalna i grep -P
              może ostrzegaÄ o jeszcze niewdrożonych funkcjach.

   Kontrola dopasowania
       -e WZORZEC, --regexp=WZORZEC
              Używa WZORCA jako wzorca. Może to zostaÄ użyte do podania
              wielu wzorców lub do chronienia wzorców rozpoczynajÄcych siÄ
              minusem: - (-e jest okreÅlone normÄ POSIX).

       -f PLIK, --file=PLIK
              Pobiera wzorce z PLIKU, po jednym z każdego wiersza. Plik pusty
              zawiera zero wzorców, nie pasujÄc do niczego (-f jest okreÅlone
              normÄ POSIX).

       -i, --ignore-case
              Ignoruje rozróżnianie wielkoÅci znaków, zarówno we WZORCU,
              jak i w plikach wejÅciowych (-i jest okreÅlone normÄ POSIX).

       -v, --invert-match
              Odwraca sens dopasowania, wybierajÄc linie niepasujÄce (-v jest
              okreÅlone normÄ POSIX).

       -w, --word-regexp
              Wybiera tylko te wiersze, w których dopasowane wzorce tworzÄ
              caÅe sÅowa. Przeprowadzany test polega na tym, że dopasowany
              podÅaÅcuch musi albo znajdowaÄ siÄ na poczÄtku wiersza, albo byÄ
              poprzedzony znakiem nietworzÄcym sÅowa. Podobnie, musi albo
              znajdowaÄ siÄ na koÅcu wiersza, albo musi nastÄpowaÄ po nim znak
              nietworzÄcy sÅowa. Znakami tworzÄcymi sÅowa sÄ litery, cyfry i
              znak podkreÅlenia.

       -x, --line-regexp
              Wybiera tylko te dopasowania, które dokÅadnie pasujÄ do caÅego
              wiersza. Opcja ta ma ten sam skutek, jak ujÄcie caÅego
              wyrażenia miÄdzy znaki ^ i $ (-x jest okreÅlone normÄ POSIX).

       -y     PrzestarzaÅy synonim -i.

   Ogólna kontrola wyniku
       -c, --count
              WyÅÄcza normalne wyjÅcie, zamiast niego, dla każdego pliku
              wejÅciowego, wypisuje liczbÄ pasujÄcych wierszy. Z opcjÄ -v,
              --invert-match (patrz niżej), liczy wiersze niepasujÄce (-c
              jest okreÅlone normÄ POSIX).

       --color[=KIEDY], --colour[=KIEDY]
              Otacza pasujÄce (niepuste) ÅaÅcuchy, pasujÄce wiersze, wiersze
              kontekstu, nazwy plików, numery wierszy, offset bajtowy oraz
              separatory (dla pól i grup w wierszach kontekstu) znakami
              odpowiadajÄcymi za wyÅwietlanie kolorów w terminalu. Kolory sÄ
              zdefiniowane przez zmiennÄ ÅrodowiskowÄ GREP_COLORS.
              PrzestarzaÅa zmienna Årodowiskowa GREP_COLOR jest wciÄż
              obsÅugiwana, ale jej ustawienia nie majÄ pierwszeÅstwa. Parametr
              KIEDY może przyjmowaÄ wartoÅci: never, always i auto.

       -L, --files-without-match
              WyÅÄcza normalne wyjÅcie, zamiast niego wypisuje nazwÄ każdego
              pliku, z którego normalnie nie wypisano by żadnego wyniku.
              Przeszukiwanie zakoÅczy siÄ na pierwszym pasujÄcym wyniku.

       -l, --files-with-matches
              WyÅÄcza normalne wyjÅcie, zamiast niego wypisuje nazwÄ każdego
              pliku, z którego wypisano by jakieÅ wyjÅcie. Przeszukiwanie
              zakoÅczy siÄ na pierwszym pasujÄcym wyniku (-l jest okreÅlone
              normÄ POSIX).

       -m LICZBA, --max-count=LICZBA
              Zatrzymuje odczytywanie pliku po LICZBIE pasujÄcych wierszy.
              JeÅli wejÅcie jest standardowym wejÅciem ze zwykÅego pliku, a
              LICZBA pasujÄcych wierszy jest wyjÅciem, grep upewnia siÄ przed
              zakoÅczeniem dziaÅania, że standardowe wejÅcie jest ustawione
              zaraz za ostatnim pasujÄcym wierszem, niezależnie od obecnoÅci
              koÅcowych wierszy kontekstu. Umożliwia to wywoÅujÄcemu
              procesowi wznowienie wyszukiwania. JeÅli grep zatrzyma siÄ po
              LICZBIE pasujÄcych wierszy, nie wyÅwietla koÅcowych wierszy
              kontekstu. Jeżeli podano także opcjÄ -c lub --count, grep nie
              wyÅwietla liczby wiÄkszej niż LICZBA. JeÅli podano również
              opcjÄ -v lub --invert-match, to grep zatrzymuje wyÅwietlanie po
              wypisaniu LICZBY niepasujÄcych wierszy.

       -o, --only-matching
              WyÅwietla tylko pasujÄce (niepuste) czÄÅci pasujÄcego wiersza,
              każda w osobnym wierszu.

       -q, --quiet, --silent
              Po cichu, nie wyÅwietla niczego na standardowe wyjÅcie.
              Przeszukiwanie zakoÅczy siÄ na pierwszym pasujÄcym wierszu ze
              statusem zero, nawet jeÅli wykryto bÅÄd. Patrz również opcje
              -s lub --no-messages (-q jest okreÅlone normÄ POSIX).

       -s, --no-messages
              WyÅÄcza komunikaty bÅÄdów o plikach nieistniejÄcych lub nie do
              odczytania. Uwaga o przenoÅnoÅci: w przeciwieÅstwie do GNU grep,
              siódme wydanie uniksowego grepa nie jest zgodne z normÄ POSIX,
              ponieważ brakuje mu opcji -q, a opcja -s zachowuje siÄ jak -q z
              GNU grep. PrzenoÅne skrypty powÅoki powinny unikaÄ zarówno -q
              jak i -s i zamiast tego przekierowywaÄ wyjÅcie do /dev/null (-s
              jest okreÅlone normÄ POSIX).

   Kontrola przedrostków w wierszu wyjÅcia
       -b, --byte-offset
              Wypisuje przed każdym wierszem wyjÅcia jego, liczony od 0,
              offset bajtowy w pliku wejÅciowym. JeÅli użyto opcji -o
              (--only-matching), wyÅwietla offset samej pasujÄcej czÄÅci.

       -H, --with-filename
              WyÅwietla nazwÄ pliku dla każdego dopasowania. Jest to domyÅlne
              ustawienia, jeÅli jest wiÄcej niż jeden plik do przeszukania.

       -h, --no-filename
              OdwoÅuje poprzedzanie wyjÅcia nazwami plików. Jest to
              ustawienie domyÅlne, jeÅli jest tylko jeden plik (lub
              standardowe wejÅcie) do przeszukania.

       --label=ETYKIETA
              WyÅwietla wejÅcie, które w rzeczywistoÅci pochodzi ze
              standardowego wejÅcia, jako wejÅcie pochodzÄce z pliku ETYKIETA.
              Jest to szczególnie przydatne w implementacji narzÄdzi takich
              jak zgrep np. gzip -cd foo.gz | grep --label=foo -H coÅ. Patrz
              też: opcja -H.

       -n, --line-number
              Poprzedza każdy wiersz wyjÅcia, liczonym od 1, numerem wiersza
              z pliku wejÅciowego (-n jest okreÅlone przez normÄ POSIX).

       -T, --initial-tab
              Upewnia siÄ, że pierwszy znak wiersza zawartoÅci zależy od
              tabulacji, dziÄki czemu wyrównanie tabulacji wyglÄda normalnie.
              Jest to użyteczne z opcjami, które poprzedzajÄ swoje wyjÅcie
              jakÄÅ zawartoÅciÄ: -H, -n i -b. Aby zwiÄkszyÄ
              prawdopodobieÅstwo, że wiersze z danego pliku bÄdÄ siÄ zaczynaÄ
              w tej samej kolumnie, numer wiersza i offset bajtowy (jeÅli jest
              obecny) zostanie wyÅwietlony z najmniejszÄ szerokoÅciÄ pola.

       -u, --unix-byte-offsets
              WyÅwietla offsety bajtowe w stylu uniksowym. PrzeÅÄcznik ten
              powoduje, że grep wyÅwietla offsety bajtowe tak, jakby byÅ
              plikiem tekstowym typu uniksowego tzn. bez znaków CR (powrót
              karetki). Da to rezultaty identyczne jak uruchomienie grepa na
              systemie uniksowym. Opcja ta nie wywoÅuje żadnego efektu, chyba
              że użyto także opcji -b oraz nic nie zmienia na platformach
              innych niż MS-DOS i MS Windows.

       -Z, --null
              Zamiast znaku, który normalnie wystÄpuje po nazwie pliku,
              wypisuje bajt zerowy (ASCII NUL). Na przykÅad, grep -lZ wypisuje
              po nazwie pliku bajt zerowy, zamiast, jak zwykle, znak nowego
              wiersza. Opcja ta powoduje, że wyjÅcie jest jednoznaczne, nawet
              przy nazwach plików zawierajÄcych niecodzienne znaki, jak znak
              nowego wiersza. Może byÄ wykorzystywana z poleceniami typu:
              find -print0, perl -0, sort -z i xargs -0, umożliwiajÄc
              przetwarzanie plików o dowolnych nazwach, nawet zawierajÄcych
              znaki nowego wiersza.

   Kontrola wierszy z kontekstem
       -A LICZBA, --after-context=LICZBA
              WyÅwietla LICZBÄ wierszy z kontekstem, nastÄpujÄcych po
              dopasowanych wierszach. PomiÄdzy ciÄgÅymi grupami dopasowaÅ
              umieszczany jest wiersz zawierajÄcy separator grupy (--). Nie
              dziaÅa z opcjÄ -o lub --only-matching, wyÅwietlane jest wówczas
              również ostrzeżenie.

       -B LICZBA, --before-context=LICZBA
              WyÅwietla LICZBÄ wierszy z kontekstem, poprzedzajÄcych
              dopasowane wiersze. PomiÄdzy ciÄgÅymi grupami dopasowaÅ
              umieszczany jest wiersz zawierajÄcy separator grupy (--). Nie
              dziaÅa z opcjÄ -o lub --only-matching, wyÅwietlane jest wówczas
              również ostrzeżenie.

       -C LICZBA, -LICZBA, --context=LICZBA
              WyÅwietla LICZBÄ wierszy z kontekstem. PomiÄdzy ciÄgÅymi grupami
              dopasowaÅ umieszczany jest wiersz zawierajÄcy separator grupy
              (--). Nie dziaÅa z opcjÄ -o lub --only-matching, wyÅwietlane
              jest wówczas również ostrzeżenie.

   Wybór plików i katalogów
       -a, --text
              Przetwarza plik binarny tak, jakby byÅ on plikiem tekstowym;
              jest to odpowiednik opcji --binary-files=text.

       --binary-files=TYP
              JeÅli pierwszych kilka bajtów pliku wskazuje, że zawiera on
              dane binarne, to zakÅadane jest, że jest to plik danego TYPU.
              DomyÅlnym TYPEM jest binarny binary, a grep normalnie albo
              wypisuje jednowierszowy komunikat mówiÄcy o dopasowaniu pliku
              binarnego, albo nie wypisuje komunikatu, jeÅli nie znaleziono
              dopasowania. Jeżeli TYPEM jest without-match (bez dopasowania),
              to grep zakÅada, że ten plik binarny nie pasuje; jest to
              równoważne dziaÅaniu opcji -I. JeÅli TYPEM jest text, to grep
              przetwarza plik binarny tak, jakby byÅ on tekstowy; jest to
              równoważne opcji -a. Ostrzeżenie: Może siÄ zdarzyÄ, że
              wypisane przez grep --binary-files=text Åmieci binarne dadzÄ
              przykre skutki uboczne, jeżeli wyjÅciem bÄdzie terminal, a jego
              sterownik zinterpretuje niektóre z nich jako swoje polecenia.

       -D DZIAÅANIE, --devices=DZIAÅANIE
              JeÅli plik wejÅciowy jest urzÄdzeniem, FIFO lub gniazdem, używa
              DZIAÅANIA do przetworzenia go. DomyÅlnym DZIAÅANIEM jest read,
              co znaczy, że urzÄdzenia sÄ odczytywane dokÅadnie tak samo, jak
              gdyby byÅy zwykÅymi plikami. JeÅli wartoÅciÄ DZIAÅANIA jest
              skip, to urzÄdzenia sÄ po cichu pomijane.

       -d DZIAÅANIE, --directories=DZIAÅANIE
              JeÅli plik wejÅciowy jest katalogiem, używa DZIAÅANIA do
              przetworzenia go. DomyÅlnym DZIAÅANIEM jest read, tzn.
              odczytywanie katalogów dokÅadnie tak samo, jak gdyby byÅy
              zwykÅymi plikami. JeÅli wartoÅciÄ DZIAÅANIA jest skip, to
              urzÄdzenia sÄ po cichu pomijane. JeÅli DZIAÅANIEM jest recurse,
              odczytywane sÄ rekurencyjnie wszystkie pliki w danym katalogu,
              podÄżajÄc za dowiÄzaniami symbolicznymi wyÅÄcznie wtedy, gdy
              zostaÅy podane w wierszu polecenia. Jest to równoważne podaniu
              opcji -r.

       --exclude=WZORZEC
              Pomija pliki, których nazwy pasujÄ do wzorca WZORZEC (używajÄc
              maski; taki wzorzec nazywany jest tradycyjnie "glob"). Wzorzec
              nazwy pliku może używaÄ *, ?, oraz [...] jako masek i \ aby
              zacytowaÄ symbol lub znak odwrotnego ukoÅnika.

       --exclude-from=PLIK
              Pomija pliki, których nazwa pasuje do któregoŠze wzorców
              odczytanego z PLIKU (używajÄc masek, opisanych w opcji
              -exclude).

       --exclude-dir=KATALOG
              Pomija katalogi pasujÄce do wzorca KATALOG z wyszukiwania
              rekursywnego.

       -I     Przetwarza plik binarny tak, jakby nie zawieraÅ pasujÄcych
              danych, jest to równoważne opcji --binary-files=without-match.

       --include=WZORZEC
              Przeszukuje jedynie pliki, których nazwy pasujÄ do WZORCA
              (używajÄc masek opisanych w opcji --exclude).

       -r, --recursive
              Czyta rekurencyjnie wszystkie pliki pod każdym katalogiem,
              podÄżajÄc za dowiÄzaniami symbolicznymi tylko jeÅli zostaÅy
              podane w wierszu polecenia. Jest to równoważne opcji -d
              recurse.

       -R, --dereference-recursive
              Czyta rekurencyjnie wszystkie pliki pod każdym katalogiem.
              PodÄża za każdym dowiÄzaniem symbolicznym, w odróżnieniu od
              -r.

   Inne opcje
       --line-buffered
              Używa buforowania wierszy wyjÅcia. Użycie tej opcji może
              spowodowaÄ niższÄ wydajnoÅÄ.

       -U, --binary
              Traktuje plik(i) jako binarne. DomyÅlnie, w MD-DOS-ie i MS
              Windows, grep zgaduje typ pliku analizujÄc zawartoÅÄ pierwszych
              32 kB odczytanych z pliku. JeÅli zdecyduje, że plik jest
              tekstowy, usuwa znaki CR (powrót karetki) z oryginalnej
              zawartoÅci pliku (po to żeby wyrażenia regularne z ^ i $
              dziaÅaÅy poprawnie). Podanie -U wyÅÄcza tÄ analizÄ powodujÄc,
              że wszystkie pliki sÄ odczytywane i przekazywane mechanizmowi
              dopasowujÄcemu dosÅownie; jeÅli plik jest plikiem tekstowym z
              parami CR/LF na koÅcu wierszy, spowoduje to, że niektóre
              wyrażenia regularne nie zadziaÅajÄ. Opcja ta nie dziaÅa na
              platformach innych niż MS-DOS i MS Windows.

       -z, --null-data
              Traktuje wejÅcie jako zestaw wierszy zakoÅczonych bajtem zerowym
              (znak ASCII NUL) zamiast znakiem koÅca wiersza. Podobnie jak
              opcje -Z lub --null, ta opcja może byÄ używana z programami
              takimi jak sort -z, aby przetworzyÄ nazwy plików o dowolnych
              nazwach.

WYRAŻENIA REGULARNE
       Wyrażenie regularne to wzorzec opisujÄcy zbiór ÅaÅcuchów. Wyrażenia
       regularne sÄ budowane analogicznie do wyrażeÅ arytmetycznych, przez
       zastosowanie do poÅÄczenia mniejszych wyrażeÅ, rozmaitych operatorów.

       Program grep rozumie trzy różne wersje skÅadni wyrażeÅ regularnych:
       "podstawowÄ" (BRE), "rozszerzonÄ" (ERE) i "perlowÄ" (PRCE). W GNU grep
       nie ma różnicy w funkcjonalnoÅci pomiÄdzy skÅadniami podstawowÄ i
       rozszerzonÄ. W innych implementacjach, podstawowe wyrażenia regularne
       sÄ uboższe. Poniższy opis stosuje siÄ do rozszerzonych wyrażeÅ
       regularnych, różnice w stosunku do wyrażeŠpodstawowych podsumowano
       na koÅcu. Wyrażenia regularne Perla, udokumentowane w podrÄcznikach
       systemowych pcresyntax(3) i pcrepattern(3), majÄ wiÄcej funkcji lecz
       dziaÅajÄ tylko jeÅli w systemie jest dostÄpne pcre.

       Podstawowymi "cegieÅkami" sÄ wyrażenia regularne pasujÄce do
       pojedynczego znaku. WiÄkszoÅÄ znaków, w tym wszystkie litery i cyfry
       sÄ wyrażeniami regularnymi pasujÄcymi do samych siebie. Każdy
       metaznak majÄcy specjalne znaczenie może byÄ zacytowany przez
       poprzedzenie go odwrotnym ukoÅnikiem.

       Kropka . pasuje do każdego pojedynczego znaku.

   Klasy znakowe i wyrażenia klamrowe
       Wyrażenie klamrowe jest listÄ znaków zawartych pomiÄdzy [ a ]. Pasuje
       do każdego pojedynczego znaku na tej liÅcie, a jeÅli pierwszy znak z
       listy jest daszkiem ^, to wyrażenie pasuje do każdego pojedynczego
       znaku nie znajdujÄcego siÄ na liÅcie. Na przykÅad, wyrażenie regularne
       [0123456789] pasuje do każdej cyfry.

       W obrÄbie wyrażenia klamrowego, wyrażenie zakresowe skÅada siÄ z
       dwóch znaków rozdzielonych minusem. Pasuje do pojedynczego znaku,
       który mieÅci siÄ miÄdzy tymi dwoma znakami, ÅÄcznie z nimi, używajÄc
       ustawieÅ jÄzykowych (locale) okreÅlajÄcych kolejnoÅÄ i zestaw znaków.
       Na przykÅad, w domyÅlnych ustawieniach locale C, [a-d] jest
       odpowiednikiem [abcd]. Wiele ustawieÅ regionalnych sortuje znaki w
       kolejnoÅci sÅownikowej, i [a-d] nie jest wtedy z reguÅy odpowiednikiem
       [abcd], może byÄ na przykÅad równoważne [aBbCcDd] (dla jÄzyka
       polskiego: [aÄbcÄd] - tÅum.). Aby uzyskaÄ tradycyjnÄ interpretacjÄ
       wyrażeÅ zakresowych, można użyÄ locale C, przypisujÄc zmiennej
       Årodowiskowej LC_ALL wartoÅÄ C.

       IstniejÄ predefiniowane, nazwane klasy znakowe, których można używaÄ
       wewnÄtrz wyrażeÅ klamrowych. PosiadajÄ opisowe nazwy w jÄzyku
       angielskim i sÄ to: [:alnum:] (litery i cyfry), [:alpha:] (litery),
       [:cntrl:] (znaki kontrolne), [:digit:] (cyfry), [:graph:] ([:alnum:] i
       [:punct:]), [:lower:] (maÅe litery), [:print:] ([:graph:] i spacja),
       [:punct:] (znaki przestankowe), [:space:] (biaÅe znaki), [:upper:]
       (duże litery) i [:xdigit:] (znaki szesnastkowe). Na przykÅad
       [[:alnum:]] zawiera zestaw liter i cyfr zależnych od aktualnych
       ustawieÅ jÄzykowych. W ustawieniach locale C i kodowaniu znaków ASCII,
       jest to odpowiednik [0-9A-Za-z]. ProszÄ zauważyÄ, że nawiasy
       kwadratowe w nazwach klas sÄ czÄÅciÄ nazw symbolicznych i muszÄ byÄ
       umieszczone dodatkowo, oprócz pary nawiasów ograniczajÄcej samÄ
       listÄ. WiÄkszoÅÄ metaznaków traci swoje szczególne znaczenie wewnÄtrz
       wyrażeÅ klamrowych. Aby umieÅciÄ tam dosÅowny znak ], należy go
       umieÅciÄ jako pierwszy. Podobnie, dosÅowny ^, może siÄ znaleźÄ
       gdziekolwiek poza pierwszym miejscem. W koÅcu, dosÅowny - musi siÄ
       znaleÅºÄ na koÅcu.

   PoczÄtek i koniec wiersza
       Znak daszka ^ i dolara $ sÄ metaznakami, które pasujÄ odpowiednio do
       ÅaÅcucha pustego na poczÄtku i koÅcu wiersza.

   UkoÅnik i wyrażenia specjalne
       Symbole \< i \> oznaczajÄ pusty ÅaÅcuch odpowiednio na poczÄtku i koÅcu
       sÅowa. Symbol \b pasuje do pustego ÅaÅcucha na krawÄdzi sÅowa, zaÅ \B
       pasuje do ciÄgu pustego zakÅadajÄc, że nie jest na krawÄdzi sÅowa.
       Symbol \w jest synonimem [_[:alnum:]], z kolei \W jest synonimem
       [^_[:alnum:]].

   Powtarzanie
       Po wyrażeniach regularnych mogÄ siÄ znajdowaÄ jeden lub kilka
       operatorów powtórzenia:
       ?      PoprzedzajÄcy element jest opcjonalny i dopasowany co najwyżej
              jeden raz.
       *      PoprzedzajÄcy element bÄdzie dopasowany zero lub wiÄcej razy.
       +      PoprzedzajÄcy element bÄdzie dopasowany jeden lub wiÄcej razy.
       {n}    PoprzedzajÄcy element pasuje dokÅadnie n razy.
       {n,}   PoprzedzajÄcy element pasuje n lub wiÄcej razy.
       {,m}   PoprzedzajÄcy element pasuje co najwyżej m razy. Jest to
              rozszerzenie GNU.
       {n,m}  PoprzedzajÄcy element pasuje co najmniej n razy, ale nie wiÄcej
              niż m razy.

   Suma
       Dwa wyrażenia regularne można ze sobÄ zÅÄczyÄ; do wynikowego
       wyrażenia regularnego pasuje każdy ÅaÅcuch utworzony przez zÅÄczenie
       dwóch podÅaÅcuchów, które odpowiednio pasujÄ do zÅÄczonych wyrażeÅ.

   Alternatywa
       Dwa wyrażenia regularne można poÅÄczyÄ operatorem wrostkowym |; do
       wynikowego wyrażenia regularnego pasuje dowolny ÅaÅcuch pasujÄce do
       jednego bÄdź do drugiego z podwyrażeÅ.

   KolejnoÅÄ wykonywania
       Powtarzanie ma priorytet na sumowaniem, które z kolei ma priorytet nad
       alternatywÄ. CaÅe wyrażenie regularne można ujÄÄ w nawiasy, celem
       unieważnienia reguŠpriorytetowych. W ten sposób zostanie utworzone
       podwyrażenie.

   OdwoÅania zwrotne i podwyrażenia
       OdwoÅanie zwrotne \n, gdzie n jest cyfrÄ pasujÄcÄ do podÅaÅcucha
       dopasowanego poprzednio przez n-te podwyrażenie wyrażenia
       regularnego, ujÄte w nawiasy.

   Podstawowe i rozszerzone wyrażenia regularne
       W podstawowych wyrażeniach regularnych metaznaki ?, +, {, |, ( i )
       tracÄ swoje szczególne znaczenie; zamiast nich należy używaÄ wersji
       z odwrotnym ukoÅnikiem: \?, \+, \{, \|, \( oraz \).

       Tradycyjny egrep nie obsÅuguje metaznaku {. Niektóre implementacje
       udostÄpniajÄ zamiast niego \{, wiÄc przenoÅne skrypty powinny unikaÄ {
       we wzorcach grep -E, a do dopasowania dosÅownego znaku { stosowaÄ [{].

       GNU grep -E usiÅuje obsÅugiwaÄ tradycyjny sposób użycia zakÅadajÄc,
       że { nie posiada specjalnego znaczenia, jeÅli byÅby on poczÄtkiem
       nieprawidÅowego okreÅlenia liczby powtórzeÅ. Na przykÅad polecenie
       grep -E '{1' szuka dwuznakowego ÅaÅcucha {1 zamiast zgÅaszaÄ bÅÄd
       skÅadni w wyrażeniu regularnym. POSIX pozwala na takie zachowanie jako
       rozszerzenie standardu, ale przenoÅne skrypty powinny go unikaÄ.

ZMIENNE ÅRODOWISKA
       Zachowanie grepa można zmieniÄ poniższymi zmiennymi Årodowiskowymi.

       Ustawienia regionalne (locale) dla kategorii LC_foo sÄ okreÅlane przez
       sprawdzanie trzech zmiennych Årodowiska, LC_ALL, LC_foo, LANG; w tej
       kolejnoÅci. Pierwsza z tych zmiennych, która jest ustawiona, okreÅla
       locale. Na przykÅad, jeÅli LC_ALL nie jest ustawiona, ale LC_MESSAGES
       jest ustawiona na pt_BR, to dla kategorii LC_MESSAGES używane sÄ
       ustawienia brazylijskiej odmiany portugalskiego. JeÅli żadna z
       powyższych zmiennych nie jest ustawiona, katalog locale nie jest
       zainstalowany, lub grep nie zostaÅ skompilowany z obsÅugÄ jÄzyka
       narodowego (NLS), to używane sÄ locale C.

       GREP_OPTIONS
              Ta zmienna okreÅla domyÅlne opcje, jakie zostanÄ umieszczone
              przed wszystkimi opcjami podanymi wprost. Na przykÅad, jeÅli
              GREP_OPTIONS jest ustawione na '--binary-files=without-match
              --directories=skip', to grep zachowa siÄ tak, jakby podano dwie
              opcje --binary-files=without-match i --directories=skip, przed
              ewentualnymi jawnymi opcjami. OkreÅlenia opcji oddziela siÄ
              biaÅymi znakami. Odwrotny ukoÅnik cytuje nastÄpny znak, zatem
              można go wykorzystaÄ do podania opcji zawierajÄcej biaÅy znak
              lub odwrotny ukoÅnik.

       GREP_COLOR
              Ta zmienna okreÅla kolor używany do podÅwietlenia dopasowanego
              (niepustego) tekstu. Jest przestarzaÅa, lecz wciÄż obsÅugiwana;
              powinno siÄ obecnie używaÄ GREP_COLORS. MożliwoÅci mt, ms i mc
              zmiennej GREP_COLORS majÄ nad niÄ priorytet. Zmienna może
              okreÅlaÄ jedynie kolor używany do podÅwietlania pasujÄcego,
              niepustego tekstu w pasujÄcym wierszu (wybranym, jeÅli nie
              podano opcji -v albo wierszu kontekstu jeÅli jÄ wpisano).
              DomyÅlnym ustawieniem jest 01;31, czyli pogrubiony, czerwony
              tekst na domyÅlnym tle terminala.

       GREP_COLORS
              OkreÅla kolory i inne atrybuty użyte do podÅwietlania różnych
              czÄÅci wyniku. Jej wartoÅciÄ jest lista możliwoÅci,
              oddzielonych dwukropkami, która domyÅlnie wyglÄda nastÄpujÄco:
              ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36, z pominiÄtymi
              wartoÅciami logicznymi rv i ne (tzn. ustawionymi na faÅsz).
              ObsÅugiwane możliwoÅci to:

              sl=    PodciÄg SGR dla caÅego wybranego wiersza (tzn.
                     pasujÄcego, jeÅli nie podano opcji -v lub niepasujÄcego w
                     przeciwnym wypadku). JeÅli jednak wartoÅÄ logiczna rv i
                     opcja wiersza poleceÅ -v zostaÅy podane, to bÄdzie on
                     dotyczyÅ w zamian kontekstu pasujÄcych wierszy. DomyÅlnie
                     jest pusta (tzn. ustawiona jest domyÅlna para kolorów
                     terminala).

              cx=    PodciÄg SGR dla wszystkich wierszy kontekstu (tzn.
                     niepasujÄcych wierszy, jeÅli nie podano opcji -v  lub
                     pasujÄcych w przeciwnym wypadku). JeÅli jednak wartoÅÄ
                     logiczna rv i opcja wiersza poleceÅ -v zostaÅy podane, to
                     bÄdzie on dotyczyÅ w zamian wybranych, niepasujÄcych
                     wierszy. DomyÅlnie jest pusta (tzn. ustawiona jest
                     domyÅlna para kolorów terminala).

              rv     WartoÅÄ logiczna, która odwraca znaczenie możliwoÅci
                     sl= i cx=, kiedy podano opcjÄ wiersza poleceÅ -v.
                     DomyÅlnie jest ustawiona na faÅsz (tzn. możliwoÅÄ jest
                     pominiÄta).

              mt=01;31
                     PodciÄg SGR do pasujÄcego, niepustego tekstu w dowolnym
                     pasujÄcym wierszu (tzn. wybranego wiersza, jeÅli nie
                     podano opcji wiersza poleceÅ -v lub wiersza kontekstu w
                     przeciwnym wypadku). Ustawienie go jest odpowiednikiem
                     podania ms= i mc= z tÄ samÄ wartoÅciÄ. DomyÅlnie jest to
                     czerwony, pogrubiony tekst na aktualnym tle wiersza.

              ms=01;31
                     PodciÄg SGR do pasujÄcego, niepustego tekstu w wybranym
                     wierszu (jest używana tylko jeÅli nie podano opcji
                     wiersza poleceÅ -v). Efekt możliwoÅci sl= (lub cx= w
                     przypadku rv) pozostaje aktywny. DomyÅlnie jest to
                     czerwony, pogrubiony tekst na aktualnym tle wiersza.

              mc=01;31
                     PodciÄg SGR do pasujÄcego, niepustego tekstu w wierszu
                     kontekstu (jest używana tylko jeÅli podano opcjÄ wiersza
                     poleceÅ -v). Efekt możliwoÅci cx= (lub sl= w przypadku
                     rv) pozostaje aktywny. DomyÅlnie jest to czerwony,
                     pogrubiony tekst na aktualnym tle wiersza.

              fn=35  PodciÄg SGR do nazw plików poprzedzajÄcych wszystkie
                     wiersze zawartoÅci. DomyÅlnie jest to purpurowy tekst na
                     domyÅlnym tle terminala.

              ln=32  PodciÄg SGR do numerów wierszy poprzedzajÄcych wszystkie
                     wiersze zawartoÅci. DomyÅlnie, jest to zielony tekst na
                     domyÅlnym tle terminala.

              bn=32  PodciÄg SGR do offsetu bajtowego poprzedzajÄcego
                     wszystkie wiersze zawartoÅci. DomyÅlnie, jest to zielony
                     tekst na domyÅlnym tle terminala.

              se=36  PodciÄg SGR do separatorów wstawianych pomiÄdzy
                     wybranymi polami wiersza (:), pomiÄdzy polami wierszy
                     kontekstu (- i pomiÄdzy grupami przylegÅych wierszy,
                     jeÅli wybrano niezerowy kontekst (--). DomyÅlnie jest to
                     cyjanowy tekst na domyÅlnym tle terminala.

              ne     WartoÅÄ logiczna, która zapobiega czyszczeniu koÅca
                     wiersza przy użyciu sekwencji Erase in Line (EL) to
                     Right (\33[K) za każdym razem, gdy koÅczy ko
                     pokolorowany wpis. Jest to wymagane na terminalach,
                     które nie obsÅugujÄ EL. WartoÅÄ jednak potrzebna na
                     terminalach, dla których możliwoÅÄ logiczna
                     back_color_erase (bce) nie ma zastosowania, gdy wybrane
                     kolory podÅwietlenia nie zmieniajÄ tÅa, gdy EL jest zbyt
                     wolne bÄdź powoduje znaczne migotanie. DomyÅlnym
                     ustawieniem jest faÅsz (tzn. możliwoÅÄ jest pominiÄta).

              ProszÄ zauważyÄ, że wartoÅci logiczne nie posiadajÄ czÄÅci
              "=...". SÄ one domyÅlne pominiÄte (tzn. faÅszywe) i stajÄ siÄ
              prawdziwe, jeÅli zostanÄ podane.

              ProszÄ zapoznaÄ siÄ z rozdziaÅem Select Graphic Rendition (SGR)
              w dokumentacji używanego terminala tekstowego, aby dowiedzieÄ
              siÄ jakie sÄ dozwolone wartoÅci oraz poznaÄ ich znaczenie. Te
              wartoÅci podciÄgów sÄ liczbami caÅkowitymi w systemie
              dziesiÄtnych i mogÄ byÄ ÅÄczone Årednikami. Program grep zajmuje
              siÄ ÅÄczeniem rezultatu w kompletnÄ sekwencjÄ SGR (\33[...m).
              NajczÄÅciej używane wartoÅci to: 1 - pogrubienie, 4 -
              podkreÅlenie, 5 - miganie, 7 - odwrócenie kolorów, 39 -
              domyÅlny kolor tÅa, od 30 do 37 - kolory tekstu, od 90 do 97 -
              kolory tekstu w trybie 16 kolorów, od 38;5;0 do 38;5;255 -
              kolory tekstu w trybie 88 i 256 kolorów, 49 - domyÅlny kolor
              tÅa, od 40 do 47 kolory tÅa, od 100 do 107 - kolory tÅa w trybie
              16 kolorów i od 48;5;0 do 48;5;255 - kolory tÅa w trybie 88 i
              256 kolorów.

       LC_ALL, LC_COLLATE, LANG
              Zmienne okreÅlajÄce ustawienia regionalne dla kategorii
              LC_COLLATE, która wyznacza kolejnoÅÄ sortowania używanÄ do
              interpretowania wyrażeŠzakresowych, takich jak [a-z].

       LC_ALL, LC_CTYPE, LANG
              Zmienne okreÅlajÄce ustawienia regionalne dla kategorii
              LC_CTYPE, która wyznacza typ znaków np. które znaki sÄ
              biaÅymi znakami.

       LC_ALL, LC_MESSAGES, LANG
              Zmienne okreÅlajÄce ustawienia regionalne dla kategorii
              LC_MESSAGES, która wyznacza jÄzyk, używany przez grepa do
              wyÅwietlania komunikatów. DomyÅlne locale C używajÄ wiadomoÅci
              w amerykaÅskiej odmianie angielskiego.

       POSIXLY_CORRECT
              JeÅli jest ustawiona, to grep zachowuje siÄ zgodnie z
              wymaganiami normy POSIX; w przeciwnym razie grep dziaÅa bardziej
              jak inne programy GNU. POSIX żÄda, by opcje, które wystÄpujÄ
              po nazwach plików byÅy traktowane jak nazwy plików. DomyÅlnie
              zaÅ, opcje takie sÄ przesuwane na poczÄtek listy argumentów i
              traktowane jak opcje. Ponadto, POSIX wymaga, by nierozpoznane
              opcje byÅy zgÅaszane jako "nielegalne" ("illegal"), ale
              ponieważ tak naprawdÄ nie naruszajÄ one prawa, domyÅlnie
              zgÅaszane sÄ jako "nieprawidÅowe" ("invalid"). POSIXLY_CORRECT
              wyÅÄcza także _N_GNU_nonoption_argv_flags_, opisane poniżej.

       _N_GNU_nonoption_argv_flags_
              N jest tu numerycznym identyfikatorem procesu grepa. JeÅli i-tym
              znakiem wartoÅci tej zmiennej Årodowiska jest 1, to i-ty
              argument przekazany do grepa nie jest uważany za opcjÄ, nawet
              jeÅli na niÄ wyglÄda. PowÅoka może umieÅciÄ tÄ zmiennÄ w
              Årodowisku dla każdego polecenia jakie uruchamia, podajÄc,
              które argumenty sÄ wynikiem rozwiniÄcia nazw plików i dlatego
              nie powinny byÄ traktowane jako opcje. Zachowanie to jest
              dostÄpne tylko z bibliotekÄ GNU C i tylko wtedy, gdy nie
              ustawiono POSIXLY_CORRECT.

KOD ZAKOÅCZENIA
       Status zakoÅczenia wynosi 0 jeÅli znaleziono dopasowania i 1 jeÅli nie
       znaleziono żadnych. W przypadku wystÄpienia bÅÄdu, status zakoÅczenia
       wynosi 2 (uwaga: kod obsÅugujÄcy bÅÄdy zgodnie z normÄ POSIX powinien
       szukaÄ statusu wynoszÄcego 2 lub wiÄcej).

PRAWA AUTORSKIE
       Copyright 1998-2000, 2002, 2005-2014 Free Software Foundation, Inc.

       Jest to wolne oprogramowanie; warunki rozpowszechniania znajdujÄ siÄ w
       źródle programu. NIE ma gwarancji, nawet PRZYDATNOÅCI HANDLOWEJ czy
       PRZYDATNOÅCI DO OKREÅLONEGO CELU.

BÅÄDY
   ZgÅaszanie bÅÄdów
       ProszÄ wysyÅaÄ zgÅoszenia bÅÄdów na adres <bug-grep@gnu.org>, strona
       internetowa odpowiadajÄca tej grupie dyskusyjnej to
       <http://lists.gnu.org/mailman/listinfo/bug-grep>. System Åledzenia
       bÅÄdów Savannah grepa można znaleÅºÄ pod adresem
       <http://savannah.gnu.org/bugs/?group=grep>.

   Znane bÅÄdy
       Duże liczniki powtórzeÅ w konstrukcji {n,m} mogÄ spowodowaÄ, że grep
       zużyje mnóstwo pamiÄci. Oprócz tego, pewne inne niejasne wyrażenia
       regularne wymagajÄ czasu i przestrzeni rosnÄcej wykÅadniczo i mogÄ
       spowodowaÄ, że grepowi zabraknie pamiÄci.

       OdwoÅania zwrotne sÄ bardzo powolne i mogÄ wymagaÄ czasu rosnÄcego
       wykÅadnicza.

ZOBACZ TAKŻE
   ZwykÅe strony man
       awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1),
       xargs(1), zgrep(1), read(2), pcre(3) pcresyntax(3), pcrepattern(3),
       terminfo(5), glob(7), regex(7).

   PodrÄcznik programisty POSIX
       grep(1p).

   Dokumentacja TeXinfo
       PeÅna dokumentacja grepa jest dostÄpna w podrÄczniku TeXinfo, z którym
       można zapoznaÄ siÄ pod adresem
       http://www.gnu.org/software/grep/manual/. JeÅli programy info i grep sÄ
       poprawnie zainstalowane, to polecenie

              info grep

       powinno daÄ dostÄp do peÅnego podrÄcznika.

UWAGI
       Niniejsza strona podrÄcznika jest utrzymywana jedynie czÄÅciowo - peÅna
       dokumentacja jest czÄsto aktualniejsza.

       GNU's to nie Unix, ale Unix jest bestiÄ - wszak w liczbie mnogiej mieni
       siÄ Unixenem.

TÅUMACZENIE
       Autorami polskiego tÅumaczenia niniejszej strony podrÄcznika man sÄ:
       Gwidon S. Naskrent (PTM) <naskrent@hoth.amu.edu.pl>, Wojciech Kotwica
       (PTM) <wkotwica@post.pl> i MichaÅ KuÅach <michal.kulach@gmail.com>.

       Polskie tÅumaczenie jest czÄÅciÄ projektu manpages-pl; uwagi, pomoc,
       zgÅaszanie bÅÄdów na stronie http://sourceforge.net/projects/manpages-
       pl/. Jest zgodne z wersjÄ  2.20 oryginaÅu.



GNU grep 2.20                                                          GREP(1)