Provided by: manpages-pl_0.7-1_all bug

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.