GREP- (1) Strona ręczna

GREP- (1) Strona ręczna

Nazwa

GREP, EGREP, FGREP, RGREP - Linie wydruku pasujące do wzoru

Streszczenie

Grep [[[Opcje] WZÓR [[[PLIK…]
Grep [[[Opcje] [-mi WZÓR | -F PLIK] [PLIK…]

Opis

Grep przeszukuje nazwane wejście PLIKs (lub standardowe wejście, jeśli nie są wymienione żadne pliki, lub jeśli pojedynczy strzępek (-) jest podana jako nazwa pliku) dla linii zawierających dopasowanie do podanego WZÓR. Domyślnie, Grep drukuje pasujące linie.

Ponadto trzy warianty programów Egrep, FGREP I RGREP są dostępne. Egrep jest taki sam jak grep -e. FGREP jest taki sam jak grep -f. RGREP jest taki sam jak grep -r. Bezpośrednie wywołanie jako albo Egrep Lub FGREP jest przestarzały, ale jest dostarczany, aby umożliwić historyczne zastosowania, które polegają na nich, aby uruchomić niezmodyfikowane.

Opcje

Informacje o programie ogólnym

-pomoc
Wydrukuj wiadomość użytkowania krótko podsumowując te opcje wiersza poleceń i adres zgłaszania błędów, a następnie wyjdź.
-V, -wersja
Wydrukuj numer wersji Grep do standardowego strumienia wyjściowego. Ten numer wersji powinien być zawarty we wszystkich raportach błędów (patrz poniżej).

Wybór mechera

-mi, -Extended-Regexp
Interpretować WZÓR jako rozszerzone wyrażenie regularne (patrz poniżej). (-mi jest określony przez POSIX .)
-F, -stałe strings
Interpretować WZÓR jako lista stałych ciągów, oddzielona przez nowe linie, z których dowolne ma być dopasowane. (-F jest określony przez POSIX .)
-G, -Basic-Regexp
Interpretować WZÓR Jako podstawowe wyrażenie regularne (BRE, patrz poniżej). To jest domyślne.
-P, -Perl-regexp
Interpretować WZÓR Jako wyrażenie regularne Perl. To jest wysoce eksperymentalne i grep -p może ostrzec przed niezamieszkanymi cechami.

Dopasowana kontrola

-mi WZÓR, -Regexp =WZÓR
Używać WZÓR jako wzór. Jest to przydatne do ochrony wzorów zaczynających się od łącznika-minusa (-). (-mi jest określony przez POSIX .)
-F PLIK, -Plik =PLIK
Uzyskaj wzory z PLIK, jeden na linię. Pusty plik zawiera zerowe wzory, a zatem nic nie pasuje. (-F jest określony przez POSIX .)
-I, -ignoruj
Ignoruj ​​rozróżnienia przypadków w obu WZÓR i pliki wejściowe. (-I jest określony przez POSIX .)
-v, -WNIRCE-mecz
Odwróć poczucie dopasowywania, aby wybrać linie nie dopasowujące. (-v jest określony przez POSIX .)
-w, -Word-regexp
Wybierz tylko te linie zawierające dopasowania, które tworzą całe słowa. Test polega na tym, że dopasowane podłoże musi być albo na początku linii, albo poprzedzone postacią składającą się nie. Podobnie, musi być albo na końcu linii, albo, a następnie nie-słowowy charakter składowy. Znaki słowne to litery, cyfry i podkreślenie.
-X, -Line-Regexp
Wybierz tylko te dopasowania, które dokładnie pasują do całej linii. (-X jest określony przez POSIX .)
-y
Przestarzały synonim -I.

Ogólna kontrola wyjściowa

-C, -liczyć
Tłumij normalne wyjście; Zamiast tego wydrukuj liczbę pasujących linii dla każdego pliku wejściowego. Z -v, -WNIRCE-mecz opcja (patrz poniżej), policz linie niepasujące. (-C jest określony przez POSIX .)
-kolor[[[=GDY], -kolor[[[=GDY]
Otaczają dopasowane (nieustanne) sznurki, pasujące linie, linie kontekstowe, nazwy plików, numery linii, offsetów bajtów i separatorów (dla pól i grup linii kontekstowych) z sekwencjami ucieczki, aby wyświetlić je w kolorze na terminalu. Kolory są zdefiniowane przez zmienną środowiskową Grep_colors. Przestarzała zmienna środowiskowa Grep_color jest nadal obsługiwany, ale jego ustawienie nie ma priorytetu. GDY Jest nigdy, zawsze, Lub automatyczny.
-L, -pliki-dopasowanie
Tłumij normalne wyjście; Zamiast tego wydrukuj nazwę każdego pliku wejściowego, z którego normalnie nie zostałyby wydrukowane. Skanowanie zatrzyma się w pierwszym meczu.
-L, -pliki z meczami
Tłumij normalne wyjście; Zamiast tego wydrukuj nazwę każdego pliku wejściowego, z którego wyniki zwykle zostałyby wydrukowane. Skanowanie zatrzyma się w pierwszym meczu. (-L jest określony przez POSIX .)
-M Num, -Max-Count =Num
Przestań czytać plik po Num pasujące linie. Jeśli wejście jest standardowym wejściem z zwykłego pliku i Num pasujące linie są wyjściowe, Grep Zapewnia, że ​​standardowe wejście jest ustawione na tuż po ostatniej linii dopasowania przed wyjściem, niezależnie od obecności linii kontekstowych końcowych. Umożliwia to proces połączenia wznowić wyszukiwanie. Gdy Grep Zatrzymuje się po Num pasujące linie, wysyła dowolne linie kontekstowe. Kiedy -C Lub -liczyć Opcja jest również używana, Grep nie wyświetla liczby większej niż Num. Kiedy -v Lub -WNIRCE-mecz Opcja jest również używana, Grep zatrzymuje się po wyjściu Num Nie dopasowujące linie.
-o, -Tylko dopasowanie
Wydrukuj tylko dopasowane (nieokreślone) części linii dopasowującej, z każdą taką częścią na osobnej linii wyjściowej.
-Q, -cichy, -cichy
Cichy; Nie pisz niczego na standardowym wyjściu. Wyjdź natychmiast ze statusem zerowym, jeśli znaleziono jakiekolwiek dopasowanie, nawet jeśli wykryto błąd. Zobacz także -S Lub -brak wiadomości opcja. (-Q jest określony przez POSIX .)
-S, -brak wiadomości
Tłumij komunikaty o błędach na temat plików nieistniejących lub nieczytelnych. Uwaga dotycząca przenośności: w przeciwieństwie do GNU Grep, 7. edycja UNIX Grep nie był zgodny z POSIX, ponieważ brakowało -Q i jego -S Opcja zachowała się jak GNU Grep'S -Q opcja. Styl USG Grep również brakowało -Q ale to jest -S Opcja zachowała się jak GNU Grep. Przenośne skontlerze powinny unikać obu -Q I -S i powinien przekierować wyjście standardowe i błąd /dev/null Zamiast. (-S jest określony przez POSIX .)

Kontrola prefiksów linii wyjściowej

-B, -Bajt-Offset
Wydrukuj przesunięcie bajtów opartych na 0 w pliku wejściowym przed każdym wierszem wyjściowym. Jeśli -o (-Tylko dopasowanie) jest określony, wydrukuj przesunięcie samej pasującej części.
-H, -Z FileName
Wydrukuj nazwę pliku dla każdego dopasowania. Jest to domyślne, gdy jest więcej niż jeden plik do wyszukiwania.
-H, -bez filmu
Stłumij prefiksowanie nazw plików na wyjściu. Jest to domyślne, gdy jest tylko jeden plik (lub tylko standardowe wejście) do wyszukiwania.
-etykieta =ETYKIETA
Wyświetl wejście faktycznie pochodzi ze standardowego wejścia jako wejścia pochodzącego z pliku ETYKIETA. Jest to szczególnie przydatne w przypadku narzędzi takich jak Zgrep, mi.G., gzip -cd foo.GZ | grep -lebel = coś
-N, -numer kolejki
Przedfiks każda linia wyjściowa z 1 opartym na numerze linii w jego pliku wejściowym. (-N jest określony przez POSIX .)
-T, -początkowe tab
Upewnij się, że pierwsza postać rzeczywistej zawartości linii leży na zatrzymaniu zakładki, tak aby wyrównanie zakładek wyglądało normalnie. Jest to przydatne w opcjach, które poprzedzają swoje dane wyjściowe do rzeczywistej treści: -H,-N, I -B. Aby poprawić prawdopodobieństwo, że linie z pojedynczego pliku uruchomi się w tej samej kolumnie, powoduje to również wydrukowanie numeru linii i offsetu bajtu (jeśli są obecne).
-u, -UNIX-bajte-offsets
Zgłoś aspsety bajtów w stylu Unix. Ten przełącznik powoduje Grep Zgłaszać przesunięcia bajtów, jak gdyby plik był plik tekstowym w stylu Unix, i.mi., Z rozebranymi postaciami CR. Daje to wyniki identyczne z bieganiem Grep na maszynie UNIX. Ta opcja nie ma wpływu, chyba że -B Używana jest również opcja; Nie ma to wpływu na platformy inne niż MS -DOS i MS -Windows.
-Z, -zero
Wyjść zerowy bajt (ASCII Nul postać) zamiast postaci, która normalnie podąża za nazwą pliku. Na przykład, GREP -LZ Wyświetla zerowy bajt po każdej nazwie pliku zamiast zwykłej nowej linii. Ta opcja sprawia, że ​​wyjście jest jednoznaczne, nawet w obecności nazw plików zawierających niezwykłe znaki, takie jak NewLines. Tej opcji może być używana z poleceniami Znajdź -print0, Perl -0, sort -z, I Xargs -0 Aby przetworzyć dowolne nazwy plików, nawet te, które zawierają nowe znaki.

Kontrola linii kontekstowej

-A Num, -po kontekście =Num
Wydrukować Num linie kontekstu w tulę po dopasowaniu linii. Umieszcza linię zawierającą separator grupowy (-) między ciągłymi grupami dopasowań. Z -o Lub -Tylko dopasowanie opcja, nie ma to żadnego wpływu i podano ostrzeżenie.
-B Num, -Przed skontaktem =Num
Wydrukować Num linie wiodącego kontekstu przed dopasowaniem linii. Umieszcza linię zawierającą separator grupowy (-) między ciągłymi grupami dopasowań. Z -o Lub -Tylko dopasowanie opcja, nie ma to żadnego wpływu i podano ostrzeżenie.
-C Num, -Num, -kontekst =Num
Wydrukować Num Linie kontekstu wyjściowego. Umieszcza linię zawierającą separator grupowy (-) między ciągłymi grupami dopasowań. Z -o Lub -Tylko dopasowanie opcja, nie ma to żadnego wpływu i podano ostrzeżenie.

Wybór plików i katalogu

-A, -tekst
Przetwarzaj plik binarny, jakby był to tekst; Jest to równoważne -Fiły binarne = tekst opcja.
-Pliki binarne =TYP
Jeśli kilka pierwszych bajtów pliku wskazuje, że plik zawiera dane binarne, załóż, że plik jest typowy TYP. Domyślnie, TYP Jest dwójkowy, I Grep Zwykle wysyła albo jedną linię, mówiąc, że plik binarny pasuje do wiadomości, albo bez wiadomości, jeśli nie ma dopasowania. Jeśli TYP Jest bez meczu, Grep zakłada, że ​​plik binarny nie pasuje; Jest to równoważne -I opcja. Jeśli TYP Jest tekst, Grep przetwarza plik binarny, jakby był to tekst; Jest to równoważne -A opcja. Ostrzeżenie: grep -binary -files = tekst może wyjść śmieci binarne, które mogą mieć nieprzyjemne skutki uboczne, jeśli wyjście jest terminalem i jeśli sterownik terminalu interpretuje niektóre z nich jako polecenia.
-D DZIAŁANIE, -urządzenia =DZIAŁANIE
Jeśli plik wejściowy to urządzenie, FIFO lub gniazdo, użyj DZIAŁANIE Aby to przetworzyć. Domyślnie, DZIAŁANIE Jest Czytać, co oznacza, że ​​urządzenia są czytane tak, jakby były zwykłymi plikami. Jeśli DZIAŁANIE Jest pominąć, Urządzenia są cicho pomijane.
-D DZIAŁANIE, -katalogi =DZIAŁANIE
Jeśli plik wejściowy jest katalogiem, użyj DZIAŁANIE Aby to przetworzyć. Domyślnie, DZIAŁANIE Jest Czytać, co oznacza, że ​​katalogi są czytane tak, jakby były zwykłymi plikami. Jeśli DZIAŁANIE Jest pominąć, katalogi są po cichu pomijane. Jeśli DZIAŁANIE Jest powrót, Grep Odczytuje wszystkie pliki w każdym katalogu, rekurencyjnie; Jest to równoważne -R opcja.
-wykluczyć =Glob
Pomiń pliki, których nazwa podstawowa pasuje Glob (Za pomocą dopasowania wieloznacznej). Glob nazwy pliku może użyć *, ?, I [[[] jako dzikie karty i \ Cytując dosłownie postać wieloznaczną lub oporową.
-Wyklucz fRom =PLIK
Pomiń pliki, których nazwa podstawowa pasuje do dowolnego z odczytania globów nazwy plików PLIK (Korzystanie z dopasowania wieloznacznej, zgodnie z opisem pod opisem -wykluczać).
-exclude-dir =Reż
Wyklucz katalogi pasujące do wzoru Reż z wyszukiwań rekurencyjnych.
-I
Przetwarzaj plik binarny tak, jakby nie zawierał pasujących danych; Jest to równoważne -Pliki binarne = bez dopasowania opcja.
-obejmować =Glob
Wyszukaj tylko pliki, których nazwa podstawowa pasuje Glob (Korzystanie z dopasowania wieloznacznej, zgodnie z opisem pod opisem -wykluczać).
-R, -R, -rekurencyjny
Przeczytaj wszystkie pliki w każdym katalogu, rekurencyjnie; Jest to równoważne -D powtórka opcja.

Inne opcje

-buforowane liniowo
Użyj buforowania linii na wyjściu. Może to spowodować karę wydajności.
-MMAP
Jeśli to możliwe, użyj MMAP(2) wywołanie systemu w celu odczytania wejścia zamiast domyślnego Czytać(2) wywołanie systemowe. W niektórych sytuacjach, -MMAP daje lepszą wydajność. Jednakże, -MMAP może powodować nieokreślone zachowanie (w tym zrzuty rdzeniowe), jeśli plik wejściowy kurczy się Grep działa lub jeśli wystąpi błąd we/wy.
-U, -dwójkowy
Traktuj plik (-ów) jako binarny. Domyślnie, pod MS -DOS i MS -Windows, Grep Zgaduje typ pliku, patrząc na zawartość pierwszego odczytu 32 kb z pliku. Jeśli Grep decyduje, że plik to plik tekstowy, usuwa znaki CR z oryginalnej zawartości pliku (aby wykonać wyrażenia regularne ^ I $ działać poprawnie). Określanie -U Oceni to zgadywanie, powodując odczytanie i przekazanie wszystkich plików do dopasowanego mechanizmu dosłownie; Jeśli plik jest plik tekstowym z parami CR/LF na końcu każdego wiersza, spowoduje to awarię niektórych wyrażeń regularnych. Ta opcja nie ma wpływu na platformy inne niż MS -DOS i MS -Windows.
-z, -null-data
Traktuj wejście jako zestaw linii, każdy zakończony przez zerowy bajt (ASCII Nul postać) zamiast nowej linii. Jak -Z Lub -zero opcji tej opcji może być używana z poleceniami takimi jak sort -z Aby przetworzyć dowolne nazwy plików.

Wyrażenia regularne

Wyrażenie regularne to wzór opisujący zestaw strun. Wyrażenia regularne są konstruowane analogicznie do wyrażeń arytmetycznych, stosując różne operatorów do łączenia mniejszych wyrażeń.

Grep rozumie dwie różne wersje składni wyrażenia regularnego: „podstawowy” i „rozszerzony.„W GNU Grep, nie ma różnicy w dostępnej funkcjonalności za pomocą żadnej składni. W innych implementacjach podstawowe wyrażenia regularne są mniej potężne. Poniższy opis dotyczy rozszerzonych wyrażeń regularnych; Różnice dla podstawowych wyrażeń regularnych są później podsumowane.

Podstawowe elementy konstrukcyjne to wyrażenia regularne, które pasują do jednego znaku. Większość postaci, w tym wszystkie litery i cyfry, to wyrażenia regularne, które pasują do siebie. Każdy meta-znak o specjalnym znaczeniu może być cytowany przez poprzedzanie go.

Okres . Dopasowuje dowolny pojedynczy znak.

Zajęcia postaci i wyrażenia wsporników

A Wyrażenie wspornika to lista znaków zamkniętych przez [[[ I ]. Pasuje do dowolnego pojedynczego znaku na tej liście; Jeśli pierwszym znakiem listy jest Caret ^ Następnie pasuje do dowolnej postaci nie na liście. Na przykład wyrażenie regularne [0123456789] Dopasowuje dowolną pojedynczą cyfrę.

W wyrażeniu wspornika, a Wyrażenie zakresu składa się z dwóch postaci oddzielonych łącznikiem. Pasuje do dowolnej pojedynczej postaci, która sortuje między dwoma postaciami, włączającą, używając sekwencji zestawu i zestawu znaków lokalizacji. Na przykład w domyślnej lokalizacji C, [ogłoszenie] jest równa [ABCD]. Wiele lokalizacji sumie znaki w porządku słownym i w tych lokalizacjach [ogłoszenie] zazwyczaj nie jest równoważne [ABCD]; może to być równoważne [Abbcccdd], Na przykład. Aby uzyskać tradycyjną interpretację wyrażeń wsporników, możesz użyć regionu C, ustawiając LC_ALL Zmienna środowiskowa do wartości C.

Wreszcie niektóre nazwane klasy znaków są predefiniowane w wyrażeniach nawigacyjnych, jak następuje. Ich nazwiska są wyjaśniające i są [: Alnum:], [:alfa:], [: cntrl:], [:cyfra:], [:wykres:], [:niżej:], [:wydrukować:], [: Putek:], [:przestrzeń:], [:górny:], I [: xDigit:]. Na przykład, [[: alnum:]] oznacza [0-9a-za-z], z wyjątkiem tej ostatniej formy zależy od ustawienia regionu C i kodowania znaku ASCII, podczas gdy ten pierwszy jest niezależny od ustawienia regionalnego i znaków. (Należy pamiętać, że wsporniki w tych nazwach klas są częścią nazw symbolicznych i muszą być zawarte oprócz wsporników wyznaczających wyrażenie wspornika.) Większość meta-znaków traci swoje szczególne znaczenie w wyrażeniach nawigacyjnych. Uwzględnić dosłowność ] Umieść go najpierw na liście. Podobnie, aby uwzględnić dosłowne ^ Umieść to wszędzie, ale najpierw. Wreszcie, aby uwzględnić dosłowne - Umieść to na koniec.

Zakotwiczenie

CareT ^ i znak dolara $ są meta-znakami, które odpowiednio pasują do pustego ciągu na początku i na końcu linii.

Charakter odwrotny i specjalne wyrażenia

Symbole \< I \> odpowiednio dopasuj pusty ciąg na początku i na końcu słowa. Symbol \B pasuje do pustego ciągu na krawędzi słowa i \B pasuje do pustego ciągu pod warunkiem, że jest nie Na skraju słowa. Symbol \ w jest synonimem [[: alnum:]] I \ W jest synonimem [^[: alnum:]].

Powtórzenie

Po wyrażeniu regularnym może nastąpić jeden z kilku operatorów powtórzeń:

?
Poprzedni element jest opcjonalny i co najwyżej dopasowany raz.
*
Poprzedni element będzie dopasowany zero lub więcej razy.
+
Poprzedni element zostanie dopasowany jeden lub więcej razy.
N
Poprzedni element jest dokładnie dopasowany N czasy.
N,
Poprzedni element jest dopasowany N lub więcej razy.
,M
Poprzedni element jest dopasowany co najwyżej M czasy.
N,M
Poprzedni element jest przynajmniej dopasowany N razy, ale nie więcej niż M czasy.

Powiązanie

Dwa wyrażenia regularne mogą być połączone; Powstałe wyrażenie regularne pasuje do dowolnego ciągu utworzonego przez połączenie dwóch podłoży, które odpowiednio pasują do wyrażeń związanych.

Alternacja

Do dwóch wyrażeń regularnych może dołączyć operator infix |; Powstałe wyrażenie regularne pasuje do dowolnego dopasowania łańcucha albo alternatywnego wyrażenia.

Precedens

Powtórzenie ma pierwszeństwo przed związkiem, które z kolei ma pierwszeństwo przed naprzemiennością. Całe wyrażenie może być zamknięte w nawiasach w celu zastąpienia tych reguł pierwszeństwa i utworzenia podekspresji.

Odniesienia do tyłu i podekspresje

Odniesienie wsteczne \N, Gdzie N jest jednominową, dopasowuje podłoże wcześniej dopasowane przez NTH SUNCESIDED STUSEKSPRESI.

Podstawowe vs rozszerzone wyrażenia regularne

W podstawowych wyrażeniach meta-właściciela ?, +, , |, (, I ) stracić swoje szczególne znaczenie; Zamiast tego użyj wersji oparte \?, \+, \ , \ |, \ (, I \).

Tradycyjny Egrep nie wspierał meta-znak i niektóre Egrep Wsparcie implementacji \ Zamiast tego należy unikać przenośnych skryptów W grep -e wzorce i powinny używać [] pasować do dosłownego .

GNU ANTYLOPA grep -e Próby wsparcia tradycyjnego użytkowania, zakładając nie jest wyjątkowy, jeśli byłby to początek niepoprawnej specyfikacji interwałowej. Na przykład polecenie grep -e aq 1AQ Wyszukują sznur dwuparacowy 1 Zamiast zgłaszać błąd składni w wyrażeniu regularnym. POSIX.2 pozwala na to zachowanie jako rozszerzenie, ale przenośne skrypty powinny tego uniknąć.

Zmienne środowiska

Zachowanie Grep wpływa następujące zmienne środowiskowe.

Lokalizacja dla kategorii LC_bla jest określony przez zbadanie trzech zmiennych środowiskowych LC_ALL, LC_bla, Lang, w tej kolejności. Pierwsza z tych ustawionych zmiennych określa lokalizację. Na przykład, jeśli LC_ALL nie jest ustawiony, ale Lc_messages jest ustawione na PT_BR, wtedy brazylijska portugalska lokalizacja jest używana do Lc_messages Kategoria. Lokalizacja C jest używana, jeśli żadna z tych zmiennych środowiskowych nie jest ustawiona, jeśli katalog lokalizacji nie zostanie zainstalowany lub jeśli Grep nie został opracowany z National Language Support (NLS).

Grep_options
Ta zmienna określa opcje domyślne, które należy umieścić przed dowolnymi jawnymi opcjami. Na przykład, jeśli Grep_options Jest AQ-Binary-Files = BEZ-Match -Directies = Skipaq, Grep zachowuje się tak, jakby dwie opcje -Pliki binarne = bez dopasowania I -katalogi = pomiń zostały określone przed jakąkolwiek jawnymi opcjami. Specyfikacje opcji są oddzielone przez Whitespace. Blowslash ucieka następnego znaku, dzięki czemu można go użyć do określenia opcji zawierającej białespace lub operatę.
Grep_color
Ta zmienna określa kolor użyty do podświetlania dopasowanego (nieustannego) tekstu. Jest przestarzały na korzyść Grep_colors, ale nadal wspierane. Mt, SM, I MC możliwości Grep_colors mieć nad tym priorytet. Może określić kolor użyty do podkreślenia pasującego tekstu nie pustego w dowolnej linii pasującej (wybrany wiersz -v Opcja wiersza polecenia jest pomijana lub wiersz kontekstowy, gdy -v jest specyficzne). Domyślnie jest 01; 31, co oznacza odważny czerwony tekst na pierwszym planie na domyślnym tle terminala.
Grep_colors
Określa kolory i inne atrybuty używane do podkreślenia różnych części wyjścia. Jego wartość jest oddzieloną okrężnicą listę możliwości, które domyślnie MS = 01; 31: MC = 01; 31: SL =: CX =: Fn = 35: Ln = 32: Bn = 32: SE = 36 z RV I ne pominięto możliwości logiczne (i.mi., FAŁSZ). Obsługiwane możliwości są następujące.
SL =
SGR podłoże dla całych wybranych linii (i.mi., pasujące linie, gdy -v Opcja wiersza poleceń jest pomijana lub nie dopasowujące wierszy, gdy -v jest specyficzne). Jeśli jednak boolean RV zdolność i -v Opcja wiersza poleceń jest określona, ​​ma ona zastosowanie do linii dopasowania kontekstu. Domyślnie jest pusty (i.mi., domyślna para kolorów terminala).
cx =
SGR podłoże dla całych linii kontekstowych (i.mi., Nie dopasowujące linie, gdy -v Opcja wiersza polecenia jest pomijana lub pasujące wiersze, gdy -v jest specyficzne). Jeśli jednak boolean RV zdolność i -v Opcja wiersza poleceń jest określona, ​​ma ona zastosowanie do wybranych linii nie dopasowujących. Domyślnie jest pusty (i.mi., domyślna para kolorów terminala).
RV
Wartość logiczna, która odwraca (swaps) znaczenia SL = I cx = możliwości, gdy -v Podano opcję wiersza polecenia. Domyślnie jest fałszywe (i.mi., możliwość jest pominięta).
MT = 01; 31
SGR Substring do dopasowywania tekstu nie pustego w dowolnej linii pasującej (i.mi., wybrana linia, gdy -v Opcja wiersza polecenia jest pomijana lub wiersz kontekstowy, gdy -v jest specyficzne). Ustawienie Jest to równoważne ustawianie obu MS = I MC = Natychmiast do tej samej wartości. Domyślnie to odważny czerwony pierwszy plan na bieżącym tle linii.
MS = 01; 31
SGR Substring do dopasowywania tekstu nie pustego w wybranym wierszu. (Jest to używane tylko wtedy, gdy -v Opcja wiersza poleceń jest pomijana.) Efekt SL = (Lub cx = Jeśli RV) Możliwość pozostaje aktywna, gdy to się uruchamia. Domyślnie to odważny czerwony pierwszy plan na bieżącym tle linii.
MC = 01; 31
SGR Substring do dopasowywania tekstu nie pustego w wierszu kontekstowym. (Jest to używane tylko wtedy, gdy -v Podano opcję wiersza polecenia.) Efekt cx = (Lub SL = Jeśli RV) Możliwość pozostaje aktywna, gdy to się uruchamia. Domyślnie to odważny czerwony pierwszy plan na bieżącym tle linii.
fn = 35
SGR Substring dla nazw plików prefiksowanie dowolnej linii treści. Domyślnie to tekst magenta na pierwszym planie na domyślnym tle terminala.
Ln = 32
SGR Substring dla numerów linii poprzedzających dowolną linię treści. Domyślnie to zielony tekst na pierwszym planie na domyślnym tle terminalu.
Bn = 32
SGR Substring dla przesunięć bajtów prefiksujących dowolną linię treści. Domyślnie to zielony tekst na pierwszym planie na domyślnym tle terminalu.
SE = 36
SGR podłoże dla separatorów, które są wstawiane między wybranymi pola linii (:), między pola linii kontekstu (-) i między grupami sąsiednich linii, gdy określono niezerowy kontekst (-). Domyślnie jest cyjanowy pierwszy plan na domyślnym tle terminala.
ne
Wartość logiczna, która zapobiega wyczyszczeniu na końcu linii za pomocą wymazania w linii (EL) po prawej stronie (\\\ 33 [k) za każdym razem, gdy kończy się zabarwiony element. Jest to potrzebne na terminach, na których EL nie jest obsługiwane. W przeciwnym razie jest użyteczny na terminach, dla których back_color_erase (pne) Boolean Terminfo możliwość nie ma zastosowania, gdy wybrane kolory podświetlenia nie wpływają na tło lub gdy EL jest zbyt wolne lub powoduje zbyt dużo migotania. Domyślnie jest fałszywe (i.mi., możliwość jest pominięta).

Zauważ, że możliwości boolean nie mają =… część. Są pominięte (ja.mi., Fałsz) domyślnie i staj się prawdą po określaniu.

Patrz sekcja Wybierz graficzne interpretacje (SGR) w dokumentacji terminalu tekstowego używanego dla dozwolonych wartości i ich znaczenia jako atrybutów znaków. Te wartości pod substring są liczbami całkowitymi w reprezentacji dziesiętnej i mogą być połączone z półkolonami. Grep dba o montaż wyniku w całkowitą sekwencję SGR (\\\ 33 [M). Wspólne wartości do konatenatu obejmują 1 za odważne, 4 do podkreślenia, 5 dla mrugnięcia, 7 dla odwrotności, 39 dla domyślnego koloru pierwszego planu, 30 Do 37 dla kolorów pierwszego planu, 90 Do 97 dla kolorów na pierwszym planie w trybie 16-kolorowym, 38; 5; 0 Do 38; 5; 255 dla kolorów 88 kolorów i 256 kolorów, 49 dla domyślnego koloru tła, 40 Do 47 dla kolorów tła, 100 Do 107 dla kolorów tła w trybie 16-kolorowym i 48; 5; 0 Do 48; 5; 255 dla 88 kolorów trybów 256 kolorów kolorów tła.

LC_ALL, Lc_collate, Lang
Te zmienne określają regionę dla Lc_collate kategoria, która określa sekwencję zestawu używaną do interpretacji wyrażeń zasięgu, takich jak [A-Z].
LC_ALL, LC_CTYPE, Lang
Te zmienne określają regionę dla LC_CTYPE kategoria, która określa rodzaj znaków, e.G., Które postacie są białe.
LC_ALL, Lc_messages, Lang
Te zmienne określają regionę dla Lc_messages kategoria, która określa język, który Grep użycia wiadomości. Domyślny lokaliza.
POSIXLY_CORRECT
Jeśli ustawiono, Grep zachowuje się jak POSIX.2 wymaga; W przeciwnym razie, Grep zachowuje się bardziej jak inne programy GNU. POSIX.2 wymaga, aby opcje obserwujące nazwy plików muszą być traktowane jako nazwy plików; Domyślnie takie opcje są permowane z przodu listy operand i są traktowane jako opcje. Również POSIX.2 Wymaga, aby rozpoznane opcje zostały zdiagnozowane jako „nielegalne”, ale ponieważ nie są one tak naprawdę przeciwko prawowi, niewykonanie zobowiązania jest zdiagnozowanie ich jako „nieważnych”. POSIXLY_CORRECT Wyłącza się również _N_GNU_nonoption_argv_flags_, Opisane poniżej.
_N_GNU_nonoption_argv_flags_
(Tutaj N Jest GrepNumerowy identyfikator procesu.) Jeśli Icharakter tej wartości zmiennej środowiska jest 1, Nie rozważaj Ioperand Grep być opcją, nawet jeśli wydaje się, że jest to jeden. Powłoka może umieścić tę zmienną w środowisku dla każdego uruchomionego polecenia, określając, które operandy są wynikiem rozszerzenia nazwy pliku, a zatem nie należy ich traktować jako opcje. To zachowanie jest dostępne tylko w bibliotece GNU C i tylko wtedy POSIXLY_CORRECT nie jest ustawiony.

Status wyjścia

Zwykle status wyjścia wynosi 0, jeśli zostaną znalezione wybrane linie i 1 w przeciwnym razie. Ale status wyjścia wynosi 2, jeśli wystąpił błąd, chyba że -Q Lub -cichy Lub -cichy używana jest opcja i znaleziono wybraną linię. Należy jednak zauważyć, że POSIX nakazuje tylko programom takie jak programy takie jak Grep, CMP, I różnica, że status wyjścia w przypadku błędu jest większy niż 1; Dlatego zaleca się, aby przenosić przenośność, używać logiki, która testuje na ten ogólny warunek zamiast ścisłej równości z 2.

Prawo autorskie

Copyright © 1998, 1999, 2000, 2002, 2005 Free Software Foundation, Inc.

To jest wolne oprogramowanie; Zobacz źródło warunków kopiowania. Nie ma gwarancji; Nawet w przypadku zdolności handlowej ani sprawności w określonym celu.

Błędy

Raportowanie błędów

E -mail raporty o błędach do <[email protected]>, lista mailingowa, której strona internetowa jest <http: // lista.gnu antylopa.Org/Mailman/Listinfo/Bug-Grep >. GrepSavannah Bug Tracker znajduje się pod adresem <http: // savannah.gnu antylopa.org/błędy/?grupa = grep >.

Znane błędy

Liczy się duże powtórzenie N,M konstrukcja może spowodować Grep Aby użyć dużo pamięci. Ponadto niektóre inne niejasne wyrażenia regularne wymagają wykładniczego czasu i przestrzeni i mogą powodować Grep Aby zabraknąć pamięci.

Powiązane samouczki Linux:

  • Wyrażenia regularne Pythona z przykładami
  • Lokalizuj kontra znajdź: jaka jest różnica
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • Jak montować obraz ISO na Linux
  • Jak porównywać pliki za pomocą diff
  • Jak poprawnie grep do tekstu w skryptach bash
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Mastering Bash Script Loops
  • Jak dodać/usunąć użytkownika na Manjaro Linux
  • Wielokrotne Xarg z przykładami