Provided by: manpages-pl_0.5-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 (nie wzorców!), 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 (-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ść.

       --mmap Jeśli to możliwe, do odczytu wejścia korzysta z funkcji systemowej mmap(2), zamiast
              domyślnej  read(2). W pewnych sytuacjach, --mmap daje lepszą wydajność. Może jednak
              spowodować niezdefiniowane zachowanie (łącznie ze zrzutem  pamięci)  jeśli  podczas
              działania grepa plik wejściowy skurczy się lub wystąpi błąd wejścia/wyjścia.

       -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.
       {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.2 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.2; w
              przeciwnym razie grep działa bardziej jak  inne  programy  GNU.  POSIX.2  żą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.2  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.

DIAGNOSTYKA

       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-2012 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),
       mmap(2), 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.14
       oryginału.