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

GNU grep 3.11                                      2019-12-29                                            GREP(1)