Provided by: manpages-pl_4.18.1-1_all bug

NAZWA

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

SKŁADNIA

       grep [OPCJA...] WZORCE [PLIK...]
       grep [OPCJA...] -e WZORCE ... [PLIK...]
       grep [OPCJA...] -f PLIK_WZORCOWY ... [PLIK...]

OPIS

       grep  szuka  WZORCÓW  w każdym PLIKU. Wzorców może być więcej niż jeden, należy je wówczas
       rozdzielić znakiem nowego wiersza,  przy  czym  grep  wypisze  każdy  wiersz  pasujący  do
       któregoś  z  wzorców.  WZORCE  powinny  być  zwykle cytowane, jeśli grep jest używany jako
       polecenie powłoki.

       PLIK - oznacza standardowe wejście. Jeśli  nie  podano  PLIKU,  rekurencyjne  wyszukiwania
       sprawdzą obecny katalog roboczy, a nierekurencyjne - czytają ze standardowego wejścia.

       Debian  also includes the variant programs egrep, fgrep and rgrep.  These programs are the
       same as grep -E, grep -F,  and  grep -r,  respectively.   These  variants  are  deprecated
       upstream,  but  Debian provides for backward compatibility. For portability reasons, it is
       recommended to avoid the variant programs, and use grep with the related option instead.

OPCJE

   Standardowe informacje programu
       --help Wyświetla komunikat pomocy i wychodzi.

       -V, --version
              Wyświetla numer wersji grep i wychodzi.

   Składnia wzorca
       -E, --extended-regexp
              Interpretuje WZORCE jako rozszerzone wyrażenie regularne (ERE, patrz niżej).

       -F, --fixed-strings
              Interpretuje WZORCE jako literalne ciągi znaków, a nie jako wyrażenia regularne.

       -G, --basic-regexp
              Interpretuje WZORCE jako podstawowe wyrażenie regularne (BRE, patrz niżej). Jest to
              zachowanie domyślne.

       -P, --perl-regexp
              Interpret  PATTERNS as Perl-compatible regular expressions (PCREs).  This option is
              experimental when combined with the -z (--null-data) option, and grep -P  may  warn
              of unimplemented features.

   Kontrola dopasowania
       -e WZORCE, --regexp=WZORCE
              Używa  WZORCE  jako  wzorca.  Jeżeli  ta  opcja została użyta wielokrotnie lub jest
              połączona z opcją -f (--file), szuka wszystkich podanych wzorców. Ta opcja może być
              użyta do ochrony wzorców rozpoczynających się znakiem "-".

       -f PLIK, --file=PLIK
              Pobiera  wzorce  z  PLIKU,  po  jednym  na  wiersz.  Jeżeli  ta opcja została użyta
              wielokrotnie lub jest połączona z opcją -e (--regexp),  szuka  wszystkich  podanych
              wzorców. Pusty plik zawiera zero wzorców, więc nie pasuje do niczego.

       -i, --ignore-case
              Ignoruje różnicę wielkości liter we wzorcach oraz danych wejściowych, tak by znaki,
              które różnią się tylko wielkością pasowały do siebie.

       --no-ignore-case
              Nie ignoruje różnicy wielkości liter we wzorcach oraz w danych wejściowych. Jest to
              zachowanie  domyślne. Ta opcja jest użyteczna by przekazać skryptowi powłoki, który
              już używa -i, by anulował ten efekt ponieważ te dwie opcje się nadpisują.

       -v, --invert-match
              Odwraca sens dopasowania, wybierając wiersze niepasujące.

       -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.
              Ta opcja nie zadziała, jeśli podano również -x.

       -x, --line-regexp
              Wybiera tylko te dopasowania, które dokładnie pasują do całego wiersza. W przypadku
              wzoru wyrażenia regularnego,  ma  to  taki  sam  skutek,  jak  umieszczenie  całego
              wyrażenia w nawiasach i otoczenie go ^ oraz $.

   Ogólna kontrola wyniku
       -c, --count
              Suppress  normal  output;  instead  print  a count of matching lines for each input
              file.  With the -v, --invert-match option (see above), count non-matching lines.

       --color[=KIEDY], --colour[=KIEDY]
              Surround the matched (non-empty)  strings,  matching  lines,  context  lines,  file
              names, line numbers, byte offsets, and separators (for fields and groups of context
              lines) with escape sequences to display them in color on the terminal.  The  colors
              are  defined  by  the  environment variable GREP_COLORS.  WHEN is never, always, or
              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.

       -l, --files-with-matches
              Wyłącza  normalne  wyjście,  zamiast  niego wypisuje nazwę każdego pliku, z którego
              normalnie wypisano by wynik. Przeszukiwanie każdego pliku wejściowego kończy się na
              pierwszym pasującym wyniku.

       -m LICZBA, --max-count=LICZBA
              Stop  reading  a  file  after NUM matching lines.  If NUM is zero, grep stops right
              away without reading input.  A NUM of -1 is treated as infinity and grep  does  not
              stop; this is the default.  If the input is standard input from a regular file, and
              NUM matching lines are output, grep ensures that the standard input  is  positioned
              to  just after the last matching line before exiting, regardless of the presence of
              trailing context lines.  This enables a calling process to resume a  search.   When
              grep  stops  after NUM matching lines, it outputs any trailing context lines.  When
              the -c or --count option is also used, grep does not output a  count  greater  than
              NUM.   When  the  -v  or  --invert-match  option  is  also  used,  grep stops after
              outputting NUM non-matching lines.

       -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.

       -s, --no-messages
              Ignoruje błędy spowodowane przez nieistniejące lub nieczytelne pliki.

   Kontrola przedrostków w wierszu wyjścia
       -b, --byte-offset
              Wypisuje  przed  każdym wierszem wyjścia jego, liczone od 0, przesunięcie bajtowe w
              pliku wejściowym. Jeśli użyto opcji -o  (--only-matching),  wyświetla  przesunięcie
              samej pasującej części.

       -H, --with-filename
              Wyświetla  nazwę  pliku dla każdego dopasowania. Jest to domyślne ustawienie, jeśli
              jest więcej niż jeden plik do przeszukania. Rozszerzenie GNU.

       -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.  Może  to  być  szczególnie  przydatne  przy
              komendach,  które  przekształcają zawartość pliku przed wyszukiwaniem, np. gzip -cd
              foo.gz | grep --label=foo -H 'jakiś wzorzec'. Patrz też: opcja -H.

       -n, --line-number
              Poprzedza każdy wiersz wyjścia, liczonym od 1, numerem wiersza z pliku wejściowego.

       -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  przesunięcie  bajtowe  (jeśli  są   obecne)   zostaną
              wyświetlone z najmniejszą szerokością pola.

       -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.

       --group-separator=SEPARATOR
              Gdy użyto -A, -B, lub -C wypisuje SEPARATOR zamiast -- pomiędzy grupami wierszy.

       --no-group-separator
              Gdy użyto -A, -B, lub -C nie wypisuje separatora pomiędzy grupami wierszy.

   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żeli dane lub metadane pliku wskazują na to, że zawiera on dane binarne, zakłada,
              że  jest  on  typu  TYP.  Bajty  nietekstowe  oznaczają  dane  binarne;  są to albo
              niepoprawnie zakodowane znaki, albo  bajty  wejściowe  null,  kiedy  opcja  -z  nie
              została użyta.

              By default, TYPE is binary, and grep suppresses output after null input binary data
              is discovered, and suppresses output lines that contain  improperly  encoded  data.
              When  some output is suppressed, grep follows any output with a message to standard
              error saying that a binary file matches.

              Jeżeli TYPEM jest without-match, to kiedy grep wykryje, że wejście zawiera  binarny
              null, zakłada, że reszta pliku nie pasuje. Jest to odpowiednik opcji -I.

              Jeżeli  TYPEM  jest text, to grep przetwarza plik binarny tak, jakby był on plikiem
              tekstowym; jest to odpowiednik opcji -a.

              Kiedy TYP ma wartość binary, grep może traktować bajty nietekstowe jako zakończenia
              wierszy  nawet bez opcji -z. To oznacza, że wybór między binary a text może wpływać
              na to, czy wzorzec pasuje do pliku.  Na  przykład,  kiedy  TYPEM  jest  binary,  to
              wzorzec  q$  może pasować do q po którym niespodziewanie następuje bajt null, nawet
              jeśli te wzorce nie zostałaby dopasowane, gdyby TYPEM był text. I odwrotnie,  kiedy
              TYPEM jest binary, wzorzec . (kropka) może nie zgadzać się z bajtem null.

              Ostrzeżenie:  Opcja  -a  może  zwrócić  binarny śmietnik, co może mieć nieprzyjemne
              skutki, jeżeli wyjściem jest  terminal,  a  sterownik  terminala  zinterpretuje  to
              wszystko jako polecenia. Z drugiej jednak strony, czytając pliki, których kodowanie
              tekstu pozostaje nieznane, przydatne może być użycie  -a  lub  ustawienie  zmiennej
              LC_ALL='C' w środowisku, aby znaleźć więcej dopasowań, nawet jeśli ich bezpośrednie
              wyświetlenie byłoby niebezpieczne.

       -D DZIAŁANIE, --devices=DZIAŁANIE
              Jeśli plik wejściowy jest urządzeniem, kolejką 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 jakiekolwiek pliki  z  przyrostkiem  nazwy,  który  zgadza  się  ze  WZORCEM
              używając  dopasowania  wieloznacznego; przyrostek nazwy jest albo całą nazwą pliku,
              albo końcową częścią, która zaczyna się od znaku innego niż  ukośnik  występującego
              od razu po ukośniku / w nazwie. Przy wyszukiwaniu rekurencyjnym, pomija jakikolwiek
              podplik, którego bazowa nazwa zgadza się z WZORCEM; nazwa bazowa  jest  częścią  po
              ostatnim  /. Wzorzec może wykorzystywać *, ? albo [...] jako wieloznaczniki oraz \,
              aby zacytować wieloznacznik lub odwrócony ukośnik.

       --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=WZORZEC
              Pomija  jakiekolwiek  katalogi  z  przyrostkiem nazwy, który zgadza się ze WZORCEM.
              Przy wyszukiwaniu rekurencyjnym, pomija jakiekolwiek  podkatalogi,  których  bazowa
              nazwa  zgadza  się  ze  WZORCEM.  Ignoruje  wszystkie  powtarzające się ukośniki we
              WZORCU.

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

       --include=WZORZEC
              Wypisuje  jedynie  pliki,  których  nazwy  bazowe  pasują do WZORCA (używając masek
              opisanych w opcji --exclude). Jeśli podano sprzeczne opcje --include  i  --exclude,
              wygrywa opcja, której uda dopasować się jako ostatniej. Jeśli obydwu opcjom nie uda
              się niczego dopasować, plik jest uwzględniany, chyba że jako pierwszą podano  opcję
              --include.

       -r, --recursive
              Read  all files under each directory, recursively, following symbolic links only if
              they are on the command line.  Note that if no file operand is given, grep searches
              the working directory.  This is equivalent to the -d recurse option.

       -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 MS-DOS i MS-Windows, grep zgaduje, czy
              plik  zawiera  tekst  lub  dane  binarne,  jak  zostało  to  opisane   przy   opcji
              --binary-files. Jeśli grep 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  dane  wejściowe  i  wyjściowe  jako sekwencje 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.

       grep understands three different versions of regular  expression  syntax:  “basic”  (BRE),
       “extended”  (ERE)  and  “perl”  (PCRE).   In  GNU grep there is no difference in available
       functionality between basic and extended syntax.  In other implementations, basic  regular
       expressions  are  less  powerful.   The  following description applies to extended regular
       expressions;  differences  for  basic  regular  expressions  are  summarized   afterwards.
       Perl-compatible  regular  expressions give additional functionality, and are documented in
       pcre2syntax(3)  and pcre2pattern(3), but work only if PCRE support is enabled.

       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. Nie jest określone czy pasuje ona do błędu
       kodowania.

   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.  Jeśli  pierwszy  znak  z  listy jest daszkiem ^, to
       wyrażenie pasuje do każdego pojedynczego znaku nie znajdującego się na  liście;  nie  jest
       określone  czy  pasuje  do  błędu kodowania. Na przykład, wyrażenie regularne [0123456789]
       pasuje do każdej pojedynczej 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),  [:blank:]  (puste),  [: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]  (w  polskich  ustawieniach  [0-9A-Ża-ż]  -
       tłum.).   (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 \).

KOD ZAKOŃCZENIA

       Typowo, statusem wyjściowym jest 0 jeśli dopasowano wiersz, 1, gdy nic nie dopasowano oraz
       2,  jeżeli  wystąpił błąd. Jednakże, jeżeli użyto -q, --quiet lub --silent oraz dopasowano
       wiersz, statusem wyjściowym będzie 0, nawet jeśli wystąpił błąd.

ŚRODOWISKO

       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. Dostępne locale  można  sprawdzić
       komendą locale -a.

       GREP_COLORS
              Controls  how the --color option highlights output.  Its value is a colon-separated
              list          of          capabilities          that          defaults           to
              ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36   with  the  rv  and  ne  boolean
              capabilities omitted (i.e., false).  Supported capabilities are as follows.

              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  (zob.  niżej)  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
                     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ętnym 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
              Te zmienne ustawiają locale dla kategorii LC_CTYPE, od której zależą  typy  znaków,
              np.  które  są znakami białymi. Ta kategoria również ustala kodowanie znaków, czyli
              to, czy tekst jest zakodowany  w  UTF-8,  ASCII  czy  jakiejkolwiek  innej  stronie
              kodowej.  W  locale  C  lub POSIX, każdy znak jest zakodowany jako pojedynczy bajt,
              więc każdy bajt jest poprawnym znakiem.

       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 wymaga, 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.

UWAGI

       Niniejsza  strona podręcznika jest utrzymywana jedynie częściowo - pełna dokumentacja jest
       często aktualniejsza.

PRAWA AUTORSKIE

       Copyright 1998-2000, 2002, 2005-2022 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
       Raporty  błędów  wysyłać  mailem  na  adres  ⟨bug-grep@gnu.org⟩.   Archiwum email oraz bug
       tracker ⟨https://debbugs.gnu.org/cgi/pkgreport.cgi?package=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.

PRZYKŁAD

       Przykład poniżej zwraca lokację oraz zawartość  każdego  wiersza  zawierającego  "f"  oraz
       kończącego  się ".c" we wszystkich plikach w obecnym katalogu, których nazwy zawierają "g"
       oraz kończą się ".h". Opcja -n zwraca numery wierszy, parametr  --  traktuje  rozszerzenia
       ""*g*.h"  zaczynające  się  od  "-"  jako  nazwy  plików  zamiast jako opcje, a pusty plik
       /dev/null sprawia, że nazwy plików zostaną zwrócone, nawet jeśli tylko jedna nazwa  będzie
       miała formę "*g.h".

         $ grep -n -- 'f.*\.c$' *g*.h /dev/null
         argmatch.h:1:/* definitions and prototypes for argmatch.c

       Jedynym  wierszem  pasującym  do  wzorca  jest  pierwszy  wiersz  pliku argmatch.h. Należy
       zauważyć, że składnia wyrażenia regularnego użyta we wzorcu różni się od  ogólnej  składni
       używanej przez powłoki by dopasować nazwy plików.

ZOBACZ TAKŻE

   Zwykłe strony man
       awk(1),  cmp(1),  diff(1), find(1), perl(1), sed(1), sort(1), xargs(1), read(2), pcre2(3),
       pcre2syntax(3), pcre2pattern(3), terminfo(5), glob(7), regex(7)

   Pełna dokumentacja
       Pod adresem https://www.gnu.org/software/grep/manual/ dostępny jest pełen podręcznik grep.
       Jeśli programy info i grep są poprawnie zainstalowane, polecenie:

              info grep

       powinno dać dostęp do pełnego podręcznika.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony  podręcznika  są:  Gwidon S. Naskrent
       <naskrent@hoth.amu.edu.pl>,   Wojtek    Kotwica    <wkotwica@post.pl>,    Michał    Kułach
       <michal.kulach@gmail.com> i Jakub Klimczak <zuomarket@tuta.io>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.