Provided by: manpages-pl_4.21.0-2_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
              Obtain  patterns from FILE, one per line.  If this option is used multiple times or
              is combined with the -e (--regexp)  option, search for  all  patterns  given.   The
              empty  file  contains zero patterns, and therefore matches nothing.  If FILE is - ,
              read patterns from standard input.

       -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, basic and extended  regular  expressions
       are  merely  different  notations  for  the same pattern-matching functionality.  In other
       implementations, basic regular expressions are ordinarily  less  powerful  than  extended,
       though  occasionally  it  is  the  other way around.  The following description applies to
       extended regular expressions; differences for basic  regular  expressions  are  summarized
       afterwards.   Perl-compatible  regular  expressions  have different 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
              If set, grep behaves as POSIX requires; otherwise, grep behaves more like other GNU
              programs.  POSIX requires that options that follow file names must  be  treated  as
              file  names; by default, such options are permuted to the front of the operand list
              and are treated as options.  Also, POSIX  requires  that  unrecognized  options  be
              diagnosed  as  “illegal”, but since they are not really against the law the default
              is to diagnose them as “invalid”.

UWAGI

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

PRAWA AUTORSKIE

       Copyright 1998-2000, 2002, 2005-2023 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⟩.