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.

GNU grep 2.20                                                                                            GREP(1)