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.

Polecenia użytkownika                             GNU grep 2.14                                          GREP(1)