Provided by: manpages-pl_0.7-2_all 

NAZWA
grep, egrep, fgrep, rgrep - wypisuje wiersze pasujące do wzorca
SKŁADNIA
grep [OPCJE] WZORZEC [PLIK...]
grep [OPCJE] [-e WZORZEC | -f PLIK] [PLIK...]
OPIS
Program grep przeszukuje wskazane PLIKI wejściowe (lub standardowe wejście, jeśli nie podano żadnych lub
podano nazwę pliku pojedynczy minus (-) jako nazwę pliku) szukając wierszy zawierających coś pasującego
do podanego WZORCA. Domyślnie, grep wypisuje pasujące wiersze.
Dodatkowo, dostępne są trzy programy wariantowe egrep, fgrep i rgrep. Program egrep jest odpowiednikiem
grep -E, fgrep jest tym samym, co grep -F, a rgrep odpowiada grep -r. Bezpośrednie wywołanie egrep lub
fgrep jest przestarzałe, ale jest zapewnione w celu zachowania zgodności ze starszymi programami.
OPCJE
Standardowe informacje programu
--help Wypisuje krótkie podsumowanie poniższych opcji oraz adres do przesyłania informacji o błędach, po
czym wychodzi.
-V, --version
Wypisuje numer wersji grepa na standardowe wyjście. Ów numer wersji powinno się dołączać do
wszystkich zgłoszeń błędów (patrz niżej).
Wybór dopasowań
-E, --extended-regexp
Interpretuje WZORZEC jako rozszerzone wyrażenie regularne - ERE, patrz niżej (-E jest określone
normą POSIX).
-F, --fixed-strings
Interpretuje WZORZEC jako listę ciągów (a nie wyrażeń regularnych) umieszczonych po jednym w
każdym wierszu, z których dowolny ma zostać dopasowany (-F jest określone normą POSIX).
-G, --basic-regexp
Interpretuje WZORZEC jako podstawowe wyrażenie regularna - BRE, patrz niżej. Jest to zachowanie
domyślne.
-P, --perl-regexp
Interpretuje WZORZEC jako wyrażenie regularne Perla - PCRE, patrz niżej. Jest to opcja wysoce
eksperymentalna i grep -P może ostrzegać o jeszcze niewdrożonych funkcjach.
Kontrola dopasowania
-e WZORZEC, --regexp=WZORZEC
Używa WZORCA jako wzorca. Może to zostać użyte do podania wielu wzorców lub do chronienia wzorców
rozpoczynających się minusem: - (-e jest określone normą POSIX).
-f PLIK, --file=PLIK
Pobiera wzorce z PLIKU, po jednym z każdego wiersza. Plik pusty zawiera zero wzorców, nie pasując
do niczego (-f jest określone normą POSIX).
-i, --ignore-case
Ignoruje rozróżnianie wielkości znaków, zarówno we WZORCU, jak i w plikach wejściowych (-i jest
określone normą POSIX).
-v, --invert-match
Odwraca sens dopasowania, wybierając linie niepasujące (-v jest określone normą POSIX).
-w, --word-regexp
Wybiera tylko te wiersze, w których dopasowane wzorce tworzą całe słowa. Przeprowadzany test
polega na tym, że dopasowany podłańcuch musi albo znajdować się na początku wiersza, albo być
poprzedzony znakiem nietworzącym słowa. Podobnie, musi albo znajdować się na końcu wiersza, albo
musi następować po nim znak nietworzący słowa. Znakami tworzącymi słowa są litery, cyfry i znak
podkreślenia.
-x, --line-regexp
Wybiera tylko te dopasowania, które dokładnie pasują do całego wiersza. Opcja ta ma ten sam
skutek, jak ujęcie całego wyrażenia między znaki ^ i $ (-x jest określone normą POSIX).
-y Przestarzały synonim -i.
Ogólna kontrola wyniku
-c, --count
Wyłącza normalne wyjście, zamiast niego, dla każdego pliku wejściowego, wypisuje liczbę pasujących
wierszy. Z opcją -v, --invert-match (patrz niżej), liczy wiersze niepasujące (-c jest określone
normą POSIX).
--color[=KIEDY], --colour[=KIEDY]
Otacza pasujące (niepuste) łańcuchy, pasujące wiersze, wiersze kontekstu, nazwy plików, numery
wierszy, offset bajtowy oraz separatory (dla pól i grup w wierszach kontekstu) znakami
odpowiadającymi za wyświetlanie kolorów w terminalu. Kolory są zdefiniowane przez zmienną
środowiskową GREP_COLORS. Przestarzała zmienna środowiskowa GREP_COLOR jest wciąż obsługiwana, ale
jej ustawienia nie mają pierwszeństwa. Parametr KIEDY może przyjmować wartości: never, always i
auto.
-L, --files-without-match
Wyłącza normalne wyjście, zamiast niego wypisuje nazwę każdego pliku, z którego normalnie nie
wypisano by żadnego wyniku. Przeszukiwanie zakończy się na pierwszym pasującym wyniku.
-l, --files-with-matches
Wyłącza normalne wyjście, zamiast niego wypisuje nazwę każdego pliku, z którego wypisano by jakieś
wyjście. Przeszukiwanie zakończy się na pierwszym pasującym wyniku (-l jest określone normą
POSIX).
-m LICZBA, --max-count=LICZBA
Zatrzymuje odczytywanie pliku po LICZBIE pasujących wierszy. Jeśli wejście jest standardowym
wejściem ze zwykłego pliku, a LICZBA pasujących wierszy jest wyjściem, grep upewnia się przed
zakończeniem działania, że standardowe wejście jest ustawione zaraz za ostatnim pasującym
wierszem, niezależnie od obecności końcowych wierszy kontekstu. Umożliwia to wywołującemu
procesowi wznowienie wyszukiwania. Jeśli grep zatrzyma się po LICZBIE pasujących wierszy, nie
wyświetla końcowych wierszy kontekstu. Jeżeli podano także opcję -c lub --count, grep nie
wyświetla liczby większej niż LICZBA. Jeśli podano również opcję -v lub --invert-match, to grep
zatrzymuje wyświetlanie po wypisaniu LICZBY niepasujących wierszy.
-o, --only-matching
Wyświetla tylko pasujące (niepuste) części pasującego wiersza, każda w osobnym wierszu.
-q, --quiet, --silent
Po cichu, nie wyświetla niczego na standardowe wyjście. Przeszukiwanie zakończy się na pierwszym
pasującym wierszu ze statusem zero, nawet jeśli wykryto błąd. Patrz również opcje -s lub
--no-messages (-q jest określone normą POSIX).
-s, --no-messages
Wyłącza komunikaty błędów o plikach nieistniejących lub nie do odczytania. Uwaga o przenośności: w
przeciwieństwie do GNU grep, siódme wydanie uniksowego grepa nie jest zgodne z normą POSIX,
ponieważ brakuje mu opcji -q, a opcja -s zachowuje się jak -q z GNU grep. Przenośne skrypty
powłoki powinny unikać zarówno -q jak i -s i zamiast tego przekierowywać wyjście do /dev/null (-s
jest określone normą POSIX).
Kontrola przedrostków w wierszu wyjścia
-b, --byte-offset
Wypisuje przed każdym wierszem wyjścia jego, liczony od 0, offset bajtowy w pliku wejściowym.
Jeśli użyto opcji -o (--only-matching), wyświetla offset samej pasującej części.
-H, --with-filename
Wyświetla nazwę pliku dla każdego dopasowania. Jest to domyślne ustawienia, jeśli jest więcej niż
jeden plik do przeszukania.
-h, --no-filename
Odwołuje poprzedzanie wyjścia nazwami plików. Jest to ustawienie domyślne, jeśli jest tylko jeden
plik (lub standardowe wejście) do przeszukania.
--label=ETYKIETA
Wyświetla wejście, które w rzeczywistości pochodzi ze standardowego wejścia, jako wejście
pochodzące z pliku ETYKIETA. Jest to szczególnie przydatne w implementacji narzędzi takich jak
zgrep np. gzip -cd foo.gz | grep --label=foo -H coś. Patrz też: opcja -H.
-n, --line-number
Poprzedza każdy wiersz wyjścia, liczonym od 1, numerem wiersza z pliku wejściowego (-n jest
określone przez normą POSIX).
-T, --initial-tab
Upewnia się, że pierwszy znak wiersza zawartości zależy od tabulacji, dzięki czemu wyrównanie
tabulacji wygląda normalnie. Jest to użyteczne z opcjami, które poprzedzają swoje wyjście jakąś
zawartością: -H, -n i -b. Aby zwiększyć prawdopodobieństwo, że wiersze z danego pliku będą się
zaczynać w tej samej kolumnie, numer wiersza i offset bajtowy (jeśli jest obecny) zostanie
wyświetlony z najmniejszą szerokością pola.
-u, --unix-byte-offsets
Wyświetla offsety bajtowe w stylu uniksowym. Przełącznik ten powoduje, że grep wyświetla offsety
bajtowe tak, jakby był plikiem tekstowym typu uniksowego tzn. bez znaków CR (powrót karetki). Da
to rezultaty identyczne jak uruchomienie grepa na systemie uniksowym. Opcja ta nie wywołuje
żadnego efektu, chyba że użyto także opcji -b oraz nic nie zmienia na platformach innych niż
MS-DOS i MS Windows.
-Z, --null
Zamiast znaku, który normalnie występuje po nazwie pliku, wypisuje bajt zerowy (ASCII NUL). Na
przykład, grep -lZ wypisuje po nazwie pliku bajt zerowy, zamiast, jak zwykle, znak nowego wiersza.
Opcja ta powoduje, że wyjście jest jednoznaczne, nawet przy nazwach plików zawierających
niecodzienne znaki, jak znak nowego wiersza. Może być wykorzystywana z poleceniami typu: find
-print0, perl -0, sort -z i xargs -0, umożliwiając przetwarzanie plików o dowolnych nazwach, nawet
zawierających znaki nowego wiersza.
Kontrola wierszy z kontekstem
-A LICZBA, --after-context=LICZBA
Wyświetla LICZBĘ wierszy z kontekstem, następujących po dopasowanych wierszach. Pomiędzy ciągłymi
grupami dopasowań umieszczany jest wiersz zawierający separator grupy (--). Nie działa z opcją -o
lub --only-matching, wyświetlane jest wówczas również ostrzeżenie.
-B LICZBA, --before-context=LICZBA
Wyświetla LICZBĘ wierszy z kontekstem, poprzedzających dopasowane wiersze. Pomiędzy ciągłymi
grupami dopasowań umieszczany jest wiersz zawierający separator grupy (--). Nie działa z opcją -o
lub --only-matching, wyświetlane jest wówczas również ostrzeżenie.
-C LICZBA, -LICZBA, --context=LICZBA
Wyświetla LICZBĘ wierszy z kontekstem. Pomiędzy ciągłymi grupami dopasowań umieszczany jest wiersz
zawierający separator grupy (--). Nie działa z opcją -o lub --only-matching, wyświetlane jest
wówczas również ostrzeżenie.
Wybór plików i katalogów
-a, --text
Przetwarza plik binarny tak, jakby był on plikiem tekstowym; jest to odpowiednik opcji
--binary-files=text.
--binary-files=TYP
Jeśli pierwszych kilka bajtów pliku wskazuje, że zawiera on dane binarne, to zakładane jest, że
jest to plik danego TYPU. Domyślnym TYPEM jest binarny binary, a grep normalnie albo wypisuje
jednowierszowy komunikat mówiący o dopasowaniu pliku binarnego, albo nie wypisuje komunikatu,
jeśli nie znaleziono dopasowania. Jeżeli TYPEM jest without-match (bez dopasowania), to grep
zakłada, że ten plik binarny nie pasuje; jest to równoważne działaniu opcji -I. Jeśli TYPEM jest
text, to grep przetwarza plik binarny tak, jakby był on tekstowy; jest to równoważne opcji -a.
Ostrzeżenie: Może się zdarzyć, że wypisane przez grep --binary-files=text śmieci binarne dadzą
przykre skutki uboczne, jeżeli wyjściem będzie terminal, a jego sterownik zinterpretuje niektóre z
nich jako swoje polecenia.
-D DZIAŁANIE, --devices=DZIAŁANIE
Jeśli plik wejściowy jest urządzeniem, FIFO lub gniazdem, używa DZIAŁANIA do przetworzenia go.
Domyślnym DZIAŁANIEM jest read, co znaczy, że urządzenia są odczytywane dokładnie tak samo, jak
gdyby były zwykłymi plikami. Jeśli wartością DZIAŁANIA jest skip, to urządzenia są po cichu
pomijane.
-d DZIAŁANIE, --directories=DZIAŁANIE
Jeśli plik wejściowy jest katalogiem, używa DZIAŁANIA do przetworzenia go. Domyślnym DZIAŁANIEM
jest read, tzn. odczytywanie katalogów dokładnie tak samo, jak gdyby były zwykłymi plikami. Jeśli
wartością DZIAŁANIA jest skip, to urządzenia są po cichu pomijane. Jeśli DZIAŁANIEM jest recurse,
odczytywane są rekurencyjnie wszystkie pliki w danym katalogu, podążając za dowiązaniami
symbolicznymi wyłącznie wtedy, gdy zostały podane w wierszu polecenia. Jest to równoważne podaniu
opcji -r.
--exclude=WZORZEC
Pomija pliki, których nazwy pasują do wzorca WZORZEC (używając maski; taki wzorzec nazywany jest
tradycyjnie "glob"). Wzorzec nazwy pliku może używać *, ?, oraz [...] jako masek i \ aby zacytować
symbol lub znak odwrotnego ukośnika.
--exclude-from=PLIK
Pomija pliki, których nazwa pasuje do któregoś ze wzorców odczytanego z PLIKU (używając masek,
opisanych w opcji -exclude).
--exclude-dir=KATALOG
Pomija katalogi pasujące do wzorca KATALOG z wyszukiwania rekursywnego.
-I Przetwarza plik binarny tak, jakby nie zawierał pasujących danych, jest to równoważne opcji
--binary-files=without-match.
--include=WZORZEC
Przeszukuje jedynie pliki, których nazwy pasują do WZORCA (używając masek opisanych w opcji
--exclude).
-r, --recursive
Czyta rekurencyjnie wszystkie pliki pod każdym katalogiem, podążając za dowiązaniami symbolicznymi
tylko jeśli zostały podane w wierszu polecenia. Jest to równoważne opcji -d recurse.
-R, --dereference-recursive
Czyta rekurencyjnie wszystkie pliki pod każdym katalogiem. Podąża za każdym dowiązaniem
symbolicznym, w odróżnieniu od -r.
Inne opcje
--line-buffered
Używa buforowania wierszy wyjścia. Użycie tej opcji może spowodować niższą wydajność.
-U, --binary
Traktuje plik(i) jako binarne. Domyślnie, w MD-DOS-ie i MS Windows, grep zgaduje typ pliku
analizując zawartość pierwszych 32 kB odczytanych z pliku. Jeśli zdecyduje, że plik jest tekstowy,
usuwa znaki CR (powrót karetki) z oryginalnej zawartości pliku (po to żeby wyrażenia regularne z ^
i $ działały poprawnie). Podanie -U wyłącza tę analizę powodując, że wszystkie pliki są
odczytywane i przekazywane mechanizmowi dopasowującemu dosłownie; jeśli plik jest plikiem
tekstowym z parami CR/LF na końcu wierszy, spowoduje to, że niektóre wyrażenia regularne nie
zadziałają. Opcja ta nie działa na platformach innych niż MS-DOS i MS Windows.
-z, --null-data
Traktuje wejście jako zestaw wierszy zakończonych bajtem zerowym (znak ASCII NUL) zamiast znakiem
końca wiersza. Podobnie jak opcje -Z lub --null, ta opcja może być używana z programami takimi jak
sort -z, aby przetworzyć nazwy plików o dowolnych nazwach.
WYRAŻENIA REGULARNE
Wyrażenie regularne to wzorzec opisujący zbiór łańcuchów. Wyrażenia regularne są budowane analogicznie do
wyrażeń arytmetycznych, przez zastosowanie do połączenia mniejszych wyrażeń, rozmaitych operatorów.
Program grep rozumie trzy różne wersje składni wyrażeń regularnych: "podstawową" (BRE), "rozszerzoną"
(ERE) i "perlową" (PRCE). W GNU grep nie ma różnicy w funkcjonalności pomiędzy składniami podstawową i
rozszerzoną. W innych implementacjach, podstawowe wyrażenia regularne są uboższe. Poniższy opis stosuje
się do rozszerzonych wyrażeń regularnych, różnice w stosunku do wyrażeń podstawowych podsumowano na
końcu. Wyrażenia regularne Perla, udokumentowane w podręcznikach systemowych pcresyntax(3) i
pcrepattern(3), mają więcej funkcji lecz działają tylko jeśli w systemie jest dostępne pcre.
Podstawowymi "cegiełkami" są wyrażenia regularne pasujące do pojedynczego znaku. Większość znaków, w tym
wszystkie litery i cyfry są wyrażeniami regularnymi pasującymi do samych siebie. Każdy metaznak mający
specjalne znaczenie może być zacytowany przez poprzedzenie go odwrotnym ukośnikiem.
Kropka . pasuje do każdego pojedynczego znaku.
Klasy znakowe i wyrażenia klamrowe
Wyrażenie klamrowe jest listą znaków zawartych pomiędzy [ a ]. Pasuje do każdego pojedynczego znaku na
tej liście, a jeśli pierwszy znak z listy jest daszkiem ^, to wyrażenie pasuje do każdego pojedynczego
znaku nie znajdującego się na liście. Na przykład, wyrażenie regularne [0123456789] pasuje do każdej
cyfry.
W obrębie wyrażenia klamrowego, wyrażenie zakresowe składa się z dwóch znaków rozdzielonych minusem.
Pasuje do pojedynczego znaku, który mieści się między tymi dwoma znakami, łącznie z nimi, używając
ustawień językowych (locale) określających kolejność i zestaw znaków. Na przykład, w domyślnych
ustawieniach locale C, [a-d] jest odpowiednikiem [abcd]. Wiele ustawień regionalnych sortuje znaki w
kolejności słownikowej, i [a-d] nie jest wtedy z reguły odpowiednikiem [abcd], może być na przykład
równoważne [aBbCcDd] (dla języka polskiego: [aąbcćd] - tłum.). Aby uzyskać tradycyjną interpretację
wyrażeń zakresowych, można użyć locale C, przypisując zmiennej środowiskowej LC_ALL wartość C.
Istnieją predefiniowane, nazwane klasy znakowe, których można używać wewnątrz wyrażeń klamrowych.
Posiadają opisowe nazwy w języku angielskim i są to: [:alnum:] (litery i cyfry), [:alpha:] (litery),
[:cntrl:] (znaki kontrolne), [:digit:] (cyfry), [:graph:] ([:alnum:] i [:punct:]), [:lower:] (małe
litery), [:print:] ([:graph:] i spacja), [:punct:] (znaki przestankowe), [:space:] (białe znaki),
[:upper:] (duże litery) i [:xdigit:] (znaki szesnastkowe). Na przykład [[:alnum:]] zawiera zestaw liter i
cyfr zależnych od aktualnych ustawień językowych. W ustawieniach locale C i kodowaniu znaków ASCII, jest
to odpowiednik [0-9A-Za-z]. Proszę zauważyć, że nawiasy kwadratowe w nazwach klas są częścią nazw
symbolicznych i muszą być umieszczone dodatkowo, oprócz pary nawiasów ograniczającej samą listę.
Większość metaznaków traci swoje szczególne znaczenie wewnątrz wyrażeń klamrowych. Aby umieścić tam
dosłowny znak ], należy go umieścić jako pierwszy. Podobnie, dosłowny ^, może się znaleźć gdziekolwiek
poza pierwszym miejscem. W końcu, dosłowny - musi się znaleźć na końcu.
Początek i koniec wiersza
Znak daszka ^ i dolara $ są metaznakami, które pasują odpowiednio do łańcucha pustego na początku i końcu
wiersza.
Ukośnik i wyrażenia specjalne
Symbole \< i \> oznaczają pusty łańcuch odpowiednio na początku i końcu słowa. Symbol \b pasuje do
pustego łańcucha na krawędzi słowa, zaś \B pasuje do ciągu pustego zakładając, że nie jest na krawędzi
słowa. Symbol \w jest synonimem [_[:alnum:]], z kolei \W jest synonimem [^_[:alnum:]].
Powtarzanie
Po wyrażeniach regularnych mogą się znajdować jeden lub kilka operatorów powtórzenia:
? Poprzedzający element jest opcjonalny i dopasowany co najwyżej jeden raz.
* Poprzedzający element będzie dopasowany zero lub więcej razy.
+ Poprzedzający element będzie dopasowany jeden lub więcej razy.
{n} Poprzedzający element pasuje dokładnie n razy.
{n,} Poprzedzający element pasuje n lub więcej razy.
{,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 \).
Tradycyjny egrep nie obsługuje metaznaku {. Niektóre implementacje udostępniają zamiast niego \{, więc
przenośne skrypty powinny unikać { we wzorcach grep -E, a do dopasowania dosłownego znaku { stosować [{].
GNU grep -E usiłuje obsługiwać tradycyjny sposób użycia zakładając, że { nie posiada specjalnego
znaczenia, jeśli byłby on początkiem nieprawidłowego określenia liczby powtórzeń. Na przykład polecenie
grep -E '{1' szuka dwuznakowego łańcucha {1 zamiast zgłaszać błąd składni w wyrażeniu regularnym. POSIX
pozwala na takie zachowanie jako rozszerzenie standardu, ale przenośne skrypty powinny go unikać.
ZMIENNE ŚRODOWISKA
Zachowanie grepa można zmienić poniższymi zmiennymi środowiskowymi.
Ustawienia regionalne (locale) dla kategorii LC_foo są określane przez sprawdzanie trzech zmiennych
środowiska, LC_ALL, LC_foo, LANG; w tej kolejności. Pierwsza z tych zmiennych, która jest ustawiona,
określa locale. Na przykład, jeśli LC_ALL nie jest ustawiona, ale LC_MESSAGES jest ustawiona na pt_BR, to
dla kategorii LC_MESSAGES używane są ustawienia brazylijskiej odmiany portugalskiego. Jeśli żadna z
powyższych zmiennych nie jest ustawiona, katalog locale nie jest zainstalowany, lub grep nie został
skompilowany z obsługą języka narodowego (NLS), to używane są locale C.
GREP_OPTIONS
Ta zmienna określa domyślne opcje, jakie zostaną umieszczone przed wszystkimi opcjami podanymi
wprost. Na przykład, jeśli GREP_OPTIONS jest ustawione na '--binary-files=without-match
--directories=skip', to grep zachowa się tak, jakby podano dwie opcje --binary-files=without-match
i --directories=skip, przed ewentualnymi jawnymi opcjami. Określenia opcji oddziela się białymi
znakami. Odwrotny ukośnik cytuje następny znak, zatem można go wykorzystać do podania opcji
zawierającej biały znak lub odwrotny ukośnik.
GREP_COLOR
Ta zmienna określa kolor używany do podświetlenia dopasowanego (niepustego) tekstu. Jest
przestarzała, lecz wciąż obsługiwana; powinno się obecnie używać GREP_COLORS. Możliwości mt, ms i
mc zmiennej GREP_COLORS mają nad nią priorytet. Zmienna może określać jedynie kolor używany do
podświetlania pasującego, niepustego tekstu w pasującym wierszu (wybranym, jeśli nie podano opcji
-v albo wierszu kontekstu jeśli ją wpisano). Domyślnym ustawieniem jest 01;31, czyli pogrubiony,
czerwony tekst na domyślnym tle terminala.
GREP_COLORS
Określa kolory i inne atrybuty użyte do podświetlania różnych części wyniku. Jej wartością jest
lista możliwości, oddzielonych dwukropkami, która domyślnie wygląda następująco:
ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36, z pominiętymi wartościami logicznymi rv i ne
(tzn. ustawionymi na fałsz). Obsługiwane możliwości to:
sl= Podciąg SGR dla całego wybranego wiersza (tzn. pasującego, jeśli nie podano opcji -v lub
niepasującego w przeciwnym wypadku). Jeśli jednak wartość logiczna rv i opcja wiersza
poleceń -v zostały podane, to będzie on dotyczył w zamian kontekstu pasujących wierszy.
Domyślnie jest pusta (tzn. ustawiona jest domyślna para kolorów terminala).
cx= Podciąg SGR dla wszystkich wierszy kontekstu (tzn. niepasujących wierszy, jeśli nie podano
opcji -v lub pasujących w przeciwnym wypadku). Jeśli jednak wartość logiczna rv i opcja
wiersza poleceń -v zostały podane, to będzie on dotyczył w zamian wybranych, niepasujących
wierszy. Domyślnie jest pusta (tzn. ustawiona jest domyślna para kolorów terminala).
rv Wartość logiczna, która odwraca znaczenie możliwości sl= i cx=, kiedy podano opcję wiersza
poleceń -v. Domyślnie jest ustawiona na fałsz (tzn. możliwość jest pominięta).
mt=01;31
Podciąg SGR do pasującego, niepustego tekstu w dowolnym pasującym wierszu (tzn. wybranego
wiersza, jeśli nie podano opcji wiersza poleceń -v lub wiersza kontekstu w przeciwnym
wypadku). Ustawienie go jest odpowiednikiem podania ms= i mc= z tą samą wartością.
Domyślnie jest to czerwony, pogrubiony tekst na aktualnym tle wiersza.
ms=01;31
Podciąg SGR do pasującego, niepustego tekstu w wybranym wierszu (jest używana tylko jeśli
nie podano opcji wiersza poleceń -v). Efekt możliwości sl= (lub cx= w przypadku rv)
pozostaje aktywny. Domyślnie jest to czerwony, pogrubiony tekst na aktualnym tle wiersza.
mc=01;31
Podciąg SGR do pasującego, niepustego tekstu w wierszu kontekstu (jest używana tylko jeśli
podano opcję wiersza poleceń -v). Efekt możliwości cx= (lub sl= w przypadku rv) pozostaje
aktywny. Domyślnie jest to czerwony, pogrubiony tekst na aktualnym tle wiersza.
fn=35 Podciąg SGR do nazw plików poprzedzających wszystkie wiersze zawartości. Domyślnie jest to
purpurowy tekst na domyślnym tle terminala.
ln=32 Podciąg SGR do numerów wierszy poprzedzających wszystkie wiersze zawartości. Domyślnie,
jest to zielony tekst na domyślnym tle terminala.
bn=32 Podciąg SGR do offsetu bajtowego poprzedzającego wszystkie wiersze zawartości. Domyślnie,
jest to zielony tekst na domyślnym tle terminala.
se=36 Podciąg SGR do separatorów wstawianych pomiędzy wybranymi polami wiersza (:), pomiędzy
polami wierszy kontekstu (- i pomiędzy grupami przyległych wierszy, jeśli wybrano niezerowy
kontekst (--). Domyślnie jest to cyjanowy tekst na domyślnym tle terminala.
ne Wartość logiczna, która zapobiega czyszczeniu końca wiersza przy użyciu sekwencji Erase in
Line (EL) to Right (\33[K) za każdym razem, gdy kończy ko pokolorowany wpis. Jest to
wymagane na terminalach, które nie obsługują EL. Wartość jednak potrzebna na terminalach,
dla których możliwość logiczna back_color_erase (bce) nie ma zastosowania, gdy wybrane
kolory podświetlenia nie zmieniają tła, gdy EL jest zbyt wolne bądź powoduje znaczne
migotanie. Domyślnym ustawieniem jest fałsz (tzn. możliwość jest pominięta).
Proszę zauważyć, że wartości logiczne nie posiadają części "=...". Są one domyślne pominięte (tzn.
fałszywe) i stają się prawdziwe, jeśli zostaną podane.
Proszę zapoznać się z rozdziałem Select Graphic Rendition (SGR) w dokumentacji używanego terminala
tekstowego, aby dowiedzieć się jakie są dozwolone wartości oraz poznać ich znaczenie. Te wartości
podciągów są liczbami całkowitymi w systemie dziesiętnych i mogą być łączone średnikami. Program
grep zajmuje się łączeniem rezultatu w kompletną sekwencję SGR (\33[...m). Najczęściej używane
wartości to: 1 - pogrubienie, 4 - podkreślenie, 5 - miganie, 7 - odwrócenie kolorów, 39 - domyślny
kolor tła, od 30 do 37 - kolory tekstu, od 90 do 97 - kolory tekstu w trybie 16 kolorów, od 38;5;0
do 38;5;255 - kolory tekstu w trybie 88 i 256 kolorów, 49 - domyślny kolor tła, od 40 do 47 kolory
tła, od 100 do 107 - kolory tła w trybie 16 kolorów i od 48;5;0 do 48;5;255 - kolory tła w trybie
88 i 256 kolorów.
LC_ALL, LC_COLLATE, LANG
Zmienne określające ustawienia regionalne dla kategorii LC_COLLATE, która wyznacza kolejność
sortowania używaną do interpretowania wyrażeń zakresowych, takich jak [a-z].
LC_ALL, LC_CTYPE, LANG
Zmienne określające ustawienia regionalne dla kategorii LC_CTYPE, która wyznacza typ znaków np.
które znaki są białymi znakami.
LC_ALL, LC_MESSAGES, LANG
Zmienne określające ustawienia regionalne dla kategorii LC_MESSAGES, która wyznacza język, używany
przez grepa do wyświetlania komunikatów. Domyślne locale C używają wiadomości w amerykańskiej
odmianie angielskiego.
POSIXLY_CORRECT
Jeśli jest ustawiona, to grep zachowuje się zgodnie z wymaganiami normy POSIX; w przeciwnym razie
grep działa bardziej jak inne programy GNU. POSIX żąda, by opcje, które występują po nazwach
plików były traktowane jak nazwy plików. Domyślnie zaś, opcje takie są przesuwane na początek
listy argumentów i traktowane jak opcje. Ponadto, POSIX 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.
KOD ZAKOŃCZENIA
Status zakończenia wynosi 0 jeśli znaleziono dopasowania i 1 jeśli nie znaleziono żadnych. W przypadku
wystąpienia błędu, status zakończenia wynosi 2 (uwaga: kod obsługujący błędy zgodnie z normą POSIX
powinien szukać statusu wynoszącego 2 lub więcej).
PRAWA AUTORSKIE
Copyright 1998-2000, 2002, 2005-2014 Free Software Foundation, Inc.
Jest to wolne oprogramowanie; warunki rozpowszechniania znajdują się w źródle programu. NIE ma gwarancji,
nawet PRZYDATNOŚCI HANDLOWEJ czy PRZYDATNOŚCI DO OKREŚLONEGO CELU.
BŁĘDY
Zgłaszanie błędów
Proszę wysyłać zgłoszenia błędów na adres <bug-grep@gnu.org>, strona internetowa odpowiadająca tej grupie
dyskusyjnej to <http://lists.gnu.org/mailman/listinfo/bug-grep>. System śledzenia błędów Savannah grepa
można znaleźć pod adresem <http://savannah.gnu.org/bugs/?group=grep>.
Znane błędy
Duże liczniki powtórzeń w konstrukcji {n,m} mogą spowodować, że grep zużyje mnóstwo pamięci. Oprócz tego,
pewne inne niejasne wyrażenia regularne wymagają czasu i przestrzeni rosnącej wykładniczo i mogą
spowodować, że grepowi zabraknie pamięci.
Odwołania zwrotne są bardzo powolne i mogą wymagać czasu rosnącego wykładnicza.
ZOBACZ TAKŻE
Zwykłe strony man
awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), read(2), pcre(3)
pcresyntax(3), pcrepattern(3), terminfo(5), glob(7), regex(7).
Podręcznik programisty POSIX
grep(1p).
Dokumentacja TeXinfo
Pełna dokumentacja grepa jest dostępna w podręczniku TeXinfo, z którym można zapoznać się pod adresem
http://www.gnu.org/software/grep/manual/. Jeśli programy info i grep są poprawnie zainstalowane, to
polecenie
info grep
powinno dać dostęp do pełnego podręcznika.
UWAGI
Niniejsza strona podręcznika jest utrzymywana jedynie częściowo - pełna dokumentacja jest często
aktualniejsza.
GNU's to nie Unix, ale Unix jest bestią - wszak w liczbie mnogiej mieni się Unixenem.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Gwidon S. Naskrent (PTM)
<naskrent@hoth.amu.edu.pl>, Wojciech Kotwica (PTM) <wkotwica@post.pl> i Michał Kułach
<michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 2.20 oryginału.
GNU grep 2.20 GREP(1)