To jest polecenie zpcregrep, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
pcregep - grep z wyrażeniami regularnymi kompatybilnymi z Perlem.
STRESZCZENIE
pergrep [opcje] [długie opcje] [wzór] [ścieżka1 ścieżka2 ...] zpcregrep [opcje] [długie
opcje] [wzór] [plik1 file2 ...]
OPIS
pergrep przeszukuje pliki pod kątem wzorców znaków, w taki sam sposób jak robią to inne polecenia grep,
ale używa biblioteki wyrażeń regularnych PCRE do obsługi zgodnych wzorców
z wyrażeniami regularnymi Perla 5. Zobacz PCresyntax(3) dla szybkiego podsumowania referencyjnego
składnia wzorca, lub szablon(3) dla pełnego opisu składni i semantyki
wyrażenia regularne obsługiwane przez PCRE.
Wzorce, niezależnie od tego, czy są dostarczane w wierszu poleceń, czy w osobnym pliku, są podawane bez
ograniczniki. Na przykład:
pcregep czwartek /etc/motd
Jeśli spróbujesz użyć ograniczników (na przykład otaczając wzór ukośnikami, jak
jest powszechny w skryptach Perla), są one interpretowane jako część wzorca. Cytaty mogą być
oczywiście być używane do rozgraniczania wzorców w wierszu poleceń, ponieważ są one interpretowane przez
powłoka, a nawet cudzysłowy są wymagane, jeśli wzorzec zawiera białe znaki lub powłokę
metaznaki.
Pierwszy argument następujący po ustawieniach opcji jest traktowany jako pojedynczy wzorzec, który ma być
dopasowane, gdy żadne -e ani -f jest obecny. I odwrotnie, gdy jedna lub obie z tych opcji
są używane do określania wzorców, wszystkie argumenty są traktowane jako nazwy ścieżek. Co najmniej jeden z -e,
-flub należy podać wzorzec argumentu.
Jeśli nie określono żadnych plików, pergrep odczytuje standardowe wejście. Standardowe wejście może również
odwołuje się nazwa składająca się z pojedynczego łącznika. Na przykład:
pcregep jakiś wzorzec /plik1 - /plik3
Domyślnie każda linia pasująca do wzorca jest kopiowana na standardowe wyjście, a jeśli
istnieje więcej niż jeden plik, nazwa pliku jest wypisywana na początku każdego wiersza, a następnie
przez dwukropek. Istnieją jednak opcje, które mogą zmienić sposób pergrep zachowuje się. w
w szczególności, -M opcja umożliwia wyszukiwanie wzorów obejmujących linię
Granic. To, co definiuje granicę linii, jest kontrolowane przez -N (--Nowa linia) opcja.
Ilość pamięci używanej do buforowania skanowanych plików jest kontrolowana przez
parametr, który można ustawić za pomocą --Rozmiar bufora opcja. Domyślna wartość tego
parametr jest określony, gdy pergrep jest zbudowany, z wartością domyślną 20K. Blok
pamięci jest używany trzykrotnie ten rozmiar (aby umożliwić buforowanie "przed" i "po"
linie). Jeśli linia przepełni bufor, wystąpi błąd.
Wzorce nie mogą być dłuższe niż 8K lub BUFSIZ bajtów, w zależności od tego, która wartość jest większa. BUFSIZ to
zdefiniowane w . Gdy istnieje więcej niż jeden wzorzec (określony przez użycie -e
i / lub -f), każdy wzór jest stosowany do każdej linii w kolejności, w jakiej są zdefiniowane,
z wyjątkiem tego, że wszystkie -e wzory są wypróbowywane przed -f wzorce.
Domyślnie, gdy tylko jeden wzór pasuje do linii, dalsze wzory nie są brane pod uwagę.
Jeśli jednak --kolor (lub --kolor) służy do pokolorowania pasujących podciągów, lub jeśli --tylko-
dopasowywanie, --przesunięcia-plikówlub --przesunięcia linii służy do wyprowadzania tylko części linii
pasujący (pokazany dosłownie lub jako przesunięcie), skanowanie wznawia się natychmiast
po dopasowaniu, aby można było znaleźć kolejne dopasowania w tej samej linii. Jeśli tam są
wiele wzorów, wszystkie są wypróbowywane na pozostałej części linii, ale wzory, które
podążaj za tymi, które pasują, nie są wypróbowywane na wcześniejszej części linii.
To zachowanie oznacza, że kolejność, w jakiej określono wiele wzorców, może wpływać na:
wyjście, gdy używana jest jedna z powyższych opcji. To już nie jest to samo zachowanie, co
GNU grep, który teraz potrafi wyświetlać wcześniejsze dopasowania dla późniejszych wzorców (o ile
nie ma nakładania się).
Wzorce, które mogą pasować do pustego ciągu są akceptowane, ale puste dopasowania nigdy nie są
rozpoznane. Przykładem jest wzorzec „(super)?(man)?”, w którym wszystkie elementy są
opcjonalny. Ten wzór znajduje wszystkie wystąpienia zarówno „super”, jak i „człowieka”; wyjście jest różne
z dopasowania za pomocą "super|man", gdy wyświetlane są tylko pasujące podciągi.
Jeśli LC_ALL or LC_CTYPE ustawiona zmienna środowiskowa, pergrep używa wartości do ustawienia a
locale podczas wywoływania biblioteki PCRE. ten --widownia opcja może być użyta do zastąpienia tego.
zpcregrep to skrypt opakowujący, który pozwala pcregep pracować na plikach skompresowanych gzip.
WSPIERAJ DLA SPRĘŻONY AKTA
Możliwa kompilacja pergrep tak, że używa libz or libz2 czytać pliki, których
imiona kończą się na .gz or . Bz2, odpowiednio. Możesz dowiedzieć się, czy Twój plik binarny ma wsparcie
dla jednego lub obu tych typów plików, uruchamiając go z --help opcja. Jeśli
brak odpowiedniej obsługi, pliki są traktowane jako zwykły tekst. Standardowe wejście to
zawsze tak traktowany.
BINARY AKTA
Domyślnie plik zawierający binarny bajt zerowy w ciągu pierwszych 1024 bajtów to
identyfikowany jako plik binarny i jest specjalnie przetwarzany. (GNU grep identyfikuje również binarne
plików w ten sposób). Zobacz --pliki-binarne możliwość zmiany drogi
obsługiwane są pliki binarne.
OPCJE
Kolejność, w jakiej pojawiają się niektóre opcje, może wpływać na wyniki. Na przykład zarówno
-h oraz -l opcje wpływają na drukowanie nazw plików. Cokolwiek nastąpi później w poleceniu
linia będzie tą, która zacznie obowiązywać. Podobnie, chyba że zaznaczono poniżej, jeśli opcja
jest podane dwukrotnie, używane jest późniejsze ustawienie. Po wartościach liczbowych dla opcji może następować
K lub M, oznaczające mnożenie odpowiednio przez 1024 lub 1024*1024.
-- To kończy listę opcji. Jest to przydatne, jeśli następna pozycja na
wiersz poleceń zaczyna się od myślnika, ale nie jest opcją. Pozwala to na
przetwarzanie wzorców i nazw plików zaczynających się od łączników.
-A numer, --po-kontekście=numer
Wydajność numer linie kontekstu po każdym pasującym wierszu. Jeśli nazwy plików i/lub
wyprowadzane są numery wierszy, zamiast dwukropka używany jest separator dla
linie kontekstu. Linia zawierająca "--" jest wyprowadzana między każdą grupą linii,
chyba że są one w rzeczywistości ciągłe w pliku wejściowym. Wartość numer is
oczekuje się, że będzie stosunkowo niewielka. Jednakże, pergrep gwarantuje posiadanie do 8K
następującego tekstu dostępnego dla wyjścia kontekstowego.
-a, --tekst
Traktuj pliki binarne jako tekst. To jest równoważne --pliki-binarne=XNUMX.
-B numer, --przed-kontekstem=numer
Wydajność numer linie kontekstu przed każdym pasującym wierszem. Jeśli nazwy plików i/lub
wyprowadzane są numery wierszy, zamiast dwukropka używany jest separator dla
linie kontekstu. Linia zawierająca "--" jest wyprowadzana między każdą grupą linii,
chyba że są one w rzeczywistości ciągłe w pliku wejściowym. Wartość numer is
oczekuje się, że będzie stosunkowo niewielka. Jednakże, pergrep gwarantuje posiadanie do 8K
poprzedniego tekstu dostępnego dla wyjścia kontekstowego.
--pliki-binarne=słowo
Określ sposób przetwarzania plików binarnych. Jeśli słowo jest „binarne” (
domyślne), dopasowanie wzorca jest wykonywane na plikach binarnych, ale jedynym wyjściem jest
"Plik binarny pasuje”, gdy dopasowanie się powiedzie. Jeśli słowo to „tekst”, co
jest równoważne z -a or --tekst opcja, pliki binarne są przetwarzane w ten sam sposób
sposób jak każdy inny plik. W takim przypadku, gdy dopasowanie się powiedzie, dane wyjściowe mogą być
śmieci binarne, które mogą mieć nieprzyjemne skutki, jeśli zostaną wysłane do terminala. Jeśli słowo
jest „bez dopasowania”, co jest równoznaczne z -I opcja, pliki binarne nie są
w ogóle przetworzone; zakłada się, że nie są interesujące.
--rozmiar-bufora=numer
Ustaw parametr, który kontroluje ilość pamięci używanej do buforowania plików, które:
są skanowane.
-C numer, --kontekst=numer
Wydajność numer linie kontekstu zarówno przed, jak i po każdym pasującym wierszu. Ten
jest równoznaczne z ustawieniem obu -A oraz -B do tej samej wartości.
-c, --liczyć
Nie wypisuj pojedynczych wierszy ze skanowanych plików; zamiast
wypisz liczbę wierszy, które w innym przypadku byłyby pokazane. Jeśli nie ma linii
wybrany, wyprowadzany jest numer zero. Jeśli skanowanych jest kilka plików, a
liczba jest wyprowadzana dla każdego z nich. Jeśli jednak --pliki-z-dopasowaniami Jest opcja
również używane, wymienione są tylko te pliki, których liczba jest większa od zera. Kiedy
-c Jest używany, -A, -B, -C opcje są ignorowane.
--kolor, --kolor
Jeśli ta opcja jest podana bez żadnych danych, jest to równoważne "--color=auto".
Jeśli wymagane są dane, muszą być podane w tej samej pozycji powłoki, oddzielone znakami
znak równości.
--kolor=wartość, --kolor=wartość
Ta opcja określa, w jakich okolicznościach pasujące części linii
wzór powinien być pokolorowany na wyjściu. Domyślnie wyjście nie jest
kolorowy. Wartość (która jest opcjonalna, patrz wyżej) może być „nigdy”, „zawsze” lub
"automatyczny". W tym drugim przypadku kolorowanie ma miejsce tylko wtedy, gdy standardowe wyjście to
podłączony do terminala. Więcej zasobów jest używanych, gdy włączone jest kolorowanie,
bo pergrep musi szukać wszystkich możliwych dopasowań w linii, a nie tylko jednego,
aby je wszystkie pokolorować.
Używany kolor można określić, ustawiając zmienną środowiskową
PCREGREP_COLOUR lub PCREGREP_COLOR. Wartość tej zmiennej powinna być ciągiem
z dwóch liczb, oddzielonych średnikiem. Są kopiowane bezpośrednio do
ciąg kontrolny do ustawiania koloru na terminalu, więc Twoim obowiązkiem jest
upewnij się, że mają sens. Jeśli żadna ze zmiennych środowiskowych nie jest ustawiona,
domyślnie "1;31", co daje kolor czerwony.
-D akcja, --urządzenia=akcja
Jeśli ścieżka wejściowa nie jest zwykłym plikiem lub katalogiem, „akcja” określa, w jaki sposób
ma zostać przetworzony. Prawidłowe wartości to „przeczytaj” (domyślnie) lub „pomiń” (po cichu
pomiń ścieżkę).
-d akcja, --katalogi=akcja
Jeśli ścieżka wejściowa jest katalogiem, „akcja” określa sposób jej przetwarzania.
Prawidłowe wartości to "read" (domyślnie w środowiskach innych niż Windows, dla
zgodność z GNU grep), „recurse” (odpowiednik -r opcja) lub „pomiń”
(po cichu pomiń ścieżkę, domyślną w środowiskach Windows). W „przeczytaj”
przypadku, katalogi są odczytywane tak, jakby były zwykłymi plikami. W niektórych operacjach
systemów efektem czytania takiego katalogu jest natychmiastowy koniec pliku;
w innych może wywołać błąd.
-e wzorzec, --regex=wzorzec, --wyrażenie regularne=wzorzec
Określ wzór do dopasowania. Tej opcji można użyć wielokrotnie w kolejności
aby określić kilka wzorów. Może być również używany jako sposób na określenie pojedynczego
wzór, który zaczyna się od łącznika. Kiedy -e jest używany, nie jest pobierany żaden wzorzec argumentu
z wiersza poleceń; wszystkie argumenty są traktowane jako nazwy plików. Nie ma
ograniczyć liczbę wzorów. Są one stosowane do każdej linii w kolejności w
które są zdefiniowane aż do jednego dopasowania.
If -f jest używany z -e, wzorce wiersza poleceń są dopasowywane jako pierwsze, a następnie
wzorce z pliku(ów), niezależnie od kolejności, w jakiej te opcje
są określone. Zauważ, że wielokrotne użycie -e to nie to samo, co pojedynczy wzór
z alternatywami. Na przykład X|Y znajduje pierwszy znak w wierszu, który jest
X lub Y, natomiast jeśli oba wzorce są podane osobno, z X jako pierwszym, pergrep
znajduje X, jeśli jest obecny, nawet jeśli w wierszu występuje po Y. Znajduje Y tylko wtedy, gdy
nie ma X w linii. Ma to znaczenie tylko wtedy, gdy używasz -o or --kolor
aby pokazać pasujące części linii.
--wykluczać=wzorzec
Pliki (ale nie katalogi), których nazwy pasują do wzorca, są pomijane bez
Jest przetwarzany. Dotyczy to wszystkich plików, niezależnie od tego, czy są one wymienione w wierszu poleceń,
uzyskany z --lista-plikówlub skanując katalog. Wzór to PCRE
wyrażenie regularne i jest dopasowywane do końcowego składnika nazwy pliku,
nie całą ścieżkę. ten -F, -w, -x opcje nie mają zastosowania do tego wzorca.
Opcję można podać dowolną ilość razy w celu określenia wielokrotności
wzory. Jeśli nazwa pliku pasuje zarówno do --włączać oraz --wykluczać wzór, to
jest wykluczony. Nie ma krótkiej formy dla tej opcji.
--wyklucz-z=filename
Traktuj każdy niepusty wiersz pliku jako dane dla --wykluczać opcja. Co
stanowi znak nowej linii, gdy odczytywanie pliku jest domyślnym ustawieniem systemu operacyjnego.
--Nowa linia opcja nie ma wpływu na tę opcję. Ta opcja może mieć więcej
niż raz, aby określić liczbę plików do odczytu.
--wyklucz-katalog=wzorzec
Katalogi, których nazwy pasują do wzorca, są pomijane bez przetwarzania,
bez względu na ustawienie - rekurencyjny opcja. Dotyczy to wszystkich katalogów,
czy jest wymieniony w wierszu poleceń, uzyskany z --lista-plikówlub skanując a
nadrzędna Lokalizacja. Wzorzec jest wyrażeniem regularnym PCRE i jest dopasowany
względem ostatniego składnika nazwy katalogu, a nie całej ścieżki. ten -F,
-w, -x opcje nie mają zastosowania do tego wzorca. Opcja może być dowolna
kilka razy, aby określić więcej niż jeden wzór. Jeśli katalog
pasuje do obu --include-dir oraz --wyklucz-katalog, jest wykluczony. Nie ma krótkich
formularz dla tej opcji.
-F, --stałe-ciągi
Interpretuj każdy wzorzec dopasowywania danych jako listę stałych ciągów oddzielonych znakami
znaki nowej linii zamiast wyrażenia regularnego. Co stanowi nową linię dla
cel ten jest kontrolowany przez --Nowa linia opcja. -w (dopasuj jako słowo) i
-x (dopasuj całą linię) opcje mogą być używane z -F. Dotyczą każdego z
stałe struny. Linia jest wybierana, jeśli znajduje się w niej którykolwiek z ustalonych ciągów
(z zastrzeżeniem -w or -x, Jeśli obecny). Ta opcja dotyczy tylko wzorów, które
są dopasowywane do zawartości plików; nie dotyczy to wzorów
określony przez którykolwiek z --włączać or --wykluczać opcje.
-f filename, --plik=filename
Odczytaj wzorce z pliku, po jednym w wierszu, i dopasuj je do każdego wiersza
Wejście. To, co stanowi znak nowej linii podczas odczytu pliku, to operacja
domyślny system. ten --Nowa linia opcja nie ma wpływu na tę opcję. Końcowe
białe znaki są usuwane z każdego wiersza, a puste wiersze są ignorowane. Pusty
plik nie zawiera żadnych wzorców i dlatego niczego nie dopasowuje. Zobacz także komentarze
o wielu wzorach w porównaniu z pojedynczym wzorem z alternatywami w
opis -e powyżej.
Jeśli ta opcja zostanie podana więcej niż raz, wszystkie podane pliki zostaną przeczytane. Dane
linia jest wypisywana, jeśli którykolwiek z wzorców pasuje. Nazwę pliku można podać jako "-"
odnosić się do standardowego wejścia. Kiedy -f jest używany, wzory określone na
wiersz poleceń za pomocą -e może być również obecny; są testowane przed plikiem
wzory. Jednak żaden inny wzorzec nie jest pobierany z wiersza poleceń; wszystko
argumenty są traktowane jako nazwy ścieżek do przeszukania.
--lista-plików=filename
Przeczytaj listę plików i/lub katalogów, które mają zostać przeskanowane z podanego
plik, po jednym w wierszu. Końcowe białe znaki są usuwane z każdej linii i puste
linie są ignorowane. Te ścieżki są przetwarzane przed tymi, które są wymienione na
wiersz poleceń. Nazwę pliku można podać jako „-”, aby odnieść się do standardowego wejścia.
If --plik oraz --lista-plików oba są określone jako „-”, wzorce są odczytywane jako pierwsze.
Jest to przydatne tylko wtedy, gdy standardowym wejściem jest terminal, z którego dalej
wiersze (lista plików) można odczytać po wskazaniu końca pliku. Jeśli to
opcja jest podana więcej niż raz, wszystkie podane pliki są odczytywane.
--przesunięcia-plików
Zamiast pokazywać pasujące linie lub części linii, pokaż każde dopasowanie jako
przesunięcie od początku pliku i długość, oddzielone przecinkiem. W tym
w trybie, kontekst nie jest pokazywany. To jest -A, -B, -C opcje są ignorowane. Gdyby
w linii jest więcej niż jeden mecz, każdy z nich jest pokazywany osobno. Ten
opcja wyklucza się wzajemnie z --przesunięcia linii oraz --tylko-pasujące.
-H, --with-nazwapliku
Wymuś włączenie nazwy pliku na początku linii wyjściowych podczas wyszukiwania
pojedynczy plik. Domyślnie nazwa pliku nie jest w tym przypadku wyświetlana. Do dopasowania
wiersze, po nazwie pliku następuje dwukropek; dla linii kontekstu myślnik
używany jest separator. Jeśli wyprowadzany jest również numer wiersza, podąża on za plikiem
nazwa.
-h, --no-pliku
Pomijaj nazwy plików wyjściowych podczas wyszukiwania wielu plików. Domyślnie,
nazwy plików są wyświetlane, gdy przeszukiwanych jest wiele plików. W przypadku pasujących linii,
po nazwie pliku następuje dwukropek; w przypadku linii kontekstu używany jest separator z myślnikiem.
Jeśli wyprowadzany jest również numer wiersza, następuje on po nazwie pliku.
--help Wyświetl komunikat pomocy, podając krótkie informacje o opcjach polecenia i typie pliku
wsparcie, a następnie wyjdź. Wszystko inne w wierszu poleceń jest ignorowane.
-I Traktuj pliki binarne jako nigdy nie pasujące. To jest równoważne --dwójkowy-
pliki=bez dopasowania.
-i, --ignoruj-przypadek
Ignoruj rozróżnienie wielkich/małych liter podczas porównywania.
--włączać=wzorzec
Jeśli w ogóle --włączać są określone wzorce, jedyne przetwarzane pliki to
te, które pasują do jednego z wzorców (i nie pasują do ani --wykluczać wzór).
Ta opcja nie wpływa na katalogi, ale dotyczy wszystkich plików, niezależnie od tego, czy
wymienione w wierszu poleceń, uzyskane z --lista-plikówlub skanując a
informator. Wzorzec jest wyrażeniem regularnym PCRE i jest dopasowywany do
ostatni składnik nazwy pliku, a nie cała ścieżka. ten -F, -w, -x
opcje nie mają zastosowania do tego wzorca. Opcji można nadać dowolną liczbę
czasy. Jeśli nazwa pliku pasuje zarówno do --włączać oraz --wykluczać wzór, to jest
wyłączony. Nie ma krótkiej formy dla tej opcji.
--włącz-z=filename
Traktuj każdy niepusty wiersz pliku jako dane dla --włączać opcja. Co
stanowi nową linię w tym celu jest domyślnym systemem operacyjnym. ten
--Nowa linia opcja nie ma wpływu na tę opcję. Ta opcja może mieć dowolną
kilka razy; wszystkie pliki są odczytywane.
--include-dir=wzorzec
Jeśli w ogóle --include-dir są określone wzorce, jedyne katalogi, które są
przetwarzane są te, które pasują do jednego z wzorców (i nie pasują do ani
--wyklucz-katalog wzór). Dotyczy to wszystkich katalogów, niezależnie od tego, czy są one wymienione na
wiersz poleceń, uzyskany z --lista-plikówlub skanując katalog nadrzędny. ten
wzorzec jest wyrażeniem regularnym PCRE i jest dopasowywany do końcowego komponentu
nazwy katalogu, a nie całej ścieżki. ten -F, -w, -x opcje nie
zastosuj do tego wzoru. Opcję można podać dowolną ilość razy. Jeśli
katalog pasuje do obu --include-dir oraz --wyklucz-katalog, jest wykluczony. Jest
brak skróconego formularza dla tej opcji.
-L, --pliki-bez-dopasowania
Zamiast wyprowadzać wiersze z plików, po prostu wypisz nazwy plików
które nie zawierają żadnych wierszy, które zostałyby wypisane. Każda nazwa pliku to
wyjście raz, w osobnym wierszu.
-l, --pliki-z-dopasowaniami
Zamiast wyprowadzać wiersze z plików, po prostu wypisz nazwy plików
zawierające wiersze, które zostałyby wypisane. Każda nazwa pliku jest wyprowadzana raz, wł
osobna linia. Wyszukiwanie zwykle zatrzymuje się, gdy tylko pasująca linia zostanie znaleziona w
plik. Jeśli jednak -c używana jest również opcja (liczba), dopasowanie jest kontynuowane w
aby uzyskać poprawną liczbę i te pliki, które mają co najmniej jedno dopasowanie
są wymienione wraz z ich liczbami. Używając tej opcji z -c jest sposobem
pominięcie listy plików bez dopasowań.
--etykieta=Nazwa
Ta opcja dostarcza nazwę, która będzie używana dla standardowego wejścia, gdy nazwy plików
są wyprowadzane. Jeśli nie jest dostarczony, używane jest „(wejście standardowe)”. Nie ma krótkich
formularz dla tej opcji.
--buforowana liniami
Gdy ta opcja jest podana, dane wejściowe są odczytywane i przetwarzane wiersz po wierszu, a
dane wyjściowe są opróżniane po każdym zapisie. Domyślnie dane wejściowe są odczytywane w dużych porcjach,
chyba że pergrep może określić, że czyta z terminala (czyli
obecnie możliwe tylko w środowiskach uniksopodobnych). Wyjście do terminala to
zwykle automatycznie opróżniany przez system operacyjny. Ta opcja może być
przydatne, gdy wejście lub wyjście jest podłączone do potoku, a nie chcesz
pergrep do buforowania dużych ilości danych. Jednak jego użycie wpłynie
wydajność, a -M (multiline) opcja przestaje działać.
--przesunięcia linii
Zamiast pokazywać pasujące linie lub części linii, pokaż każde dopasowanie jako linię
liczbę, odsunięcie od początku linii i długość. Numer wiersza to
zakończone dwukropkiem (jak zwykle; zobacz -n opcja) oraz przesunięcie i długość
są oddzielone przecinkiem. W tym trybie kontekst nie jest pokazywany. To jest -A,
-B, -C opcje są ignorowane. Jeśli w linii jest więcej niż jeden mecz, każdy
z nich pokazano osobno. Ta opcja wyklucza się wzajemnie z --plik-
przesunięcia oraz --tylko-pasujące.
--widownia=nazwa-lokalu
Ta opcja określa ustawienia regionalne używane do dopasowywania wzorców. Zastępuje
wartość w LC_ALL or LC_CTYPE Zmienne środowiska. Jeśli nie ma lokalizacji
określone, używane są domyślne ustawienia lokalne biblioteki PCRE (zwykle język „C”). Jest
brak skróconego formularza dla tej opcji.
--limit dopasowania=numer
Przetwarzanie niektórych wzorców wyrażeń regularnych może wymagać bardzo dużej ilości
pamięci, co w niektórych przypadkach prowadzi do awarii programu, jeśli nie ma wystarczającej ilości pamięci.
Inne wzorce mogą zająć bardzo dużo czasu, aby wyszukać wszystkie możliwe dopasowania
smyczki. ten pcre_exec() funkcja wywoływana przez pergrep zrobić dopasowanie
ma dwa parametry, które mogą ograniczać zasoby, z których korzysta.
--limit dopasowania opcja umożliwia ograniczenie zużycia zasobów, gdy
wzorce przetwarzania, które nie będą pasować, ale które mają bardzo duże
wiele możliwości w swoich drzewach wyszukiwania. Klasycznym przykładem jest wzór
który używa zagnieżdżonych nieograniczonej liczby powtórzeń. Wewnętrznie PCRE używa funkcji o nazwie
mecz() które wywołuje wielokrotnie (czasami rekursywnie). Limit ustalony przez
--limit dopasowania jest nakładana na liczbę wywołań tej funkcji podczas a
dopasowanie, co ma wpływ na ograniczenie ilości cofania się, które może trwać
Zamiast.
--rekurencja-limit opcja jest podobna do --limit dopasowania, ale zamiast
ograniczenie całkowitej liczby razy, które mecz() nazywa się, ogranicza głębokość
wywołań rekurencyjnych, co z kolei ogranicza ilość pamięci, którą można wykorzystać.
Głębokość rekurencji jest mniejsza niż całkowita liczba połączeń, ponieważ
nie wszystkie telefony do mecz() są rekurencyjne. Ten limit ma zastosowanie tylko wtedy, gdy jest ustawiony
mniejszy niż --limit dopasowania.
Nie ma krótkich formularzy dla tych opcji. Określono ustawienia domyślne
gdy biblioteka PCRE jest kompilowana, przy czym domyślna wartość to 10 milionów.
-M, --multilinia
Pozwól, aby wzory pasowały do więcej niż jednej linii. Gdy ta opcja jest podana, wzorce
może zawierać dosłowne znaki nowego wiersza i wewnętrzne wystąpienia ^
i $ znaków. Dane wyjściowe udanego dopasowania mogą składać się z więcej niż jednego
linia, z której ostatnia to ta, w której mecz się zakończył. Jeśli dopasowane
ciąg kończy się sekwencją nowego wiersza, wynik kończy się na końcu tego wiersza.
Gdy ta opcja jest ustawiona, biblioteka PCRE jest wywoływana w trybie „multiline”. Tam
to ograniczenie liczby linii, które można dopasować, narzucone przez sposób, który to
pergrep buforuje plik wejściowy podczas jego skanowania. Jednakże, pergrep zapewnia to
co najmniej 8 tys. znaków lub reszta dokumentu (w zależności od tego, która z tych wartości jest krótsza)
są dostępne do dopasowania do przodu i podobnie poprzednie 8K znaków (lub
wszystkie poprzednie znaki, jeśli mniej niż 8K) są gwarantowane, aby były dostępne
dla stwierdzeń wstecznych. Ta opcja nie działa, gdy wejście jest odczytywane wierszem przez
linia (patrz --buforowana liniami.)
-N typ nowej linii, --Nowa linia=typ nowej linii
Biblioteka PCRE obsługuje pięć różnych konwencji oznaczania końców
linie. Są to sekwencje jednoznakowe CR (powrót karetki) i LF
(linefeed), dwuznakowa sekwencja CRLF, konwencja „anycrlf”, która:
rozpoznaje dowolny z trzech poprzednich typów oraz konwencję „dowolną”, w której
Zakłada się, że każda sekwencja kończąca linię Unicode kończy linię. Sekwencje Unicode
są trzy wymienione, plus VT (karta pionowa, U+000B), FF (form feed,
U+000C), NEL (następna linia, U+0085), LS (separator linii, U+2028) i PS (akapit
separatora, U+2029).
Podczas budowania biblioteki PCRE określana jest domyślna kolejność końców linii.
Jest to zwykle standardowa sekwencja dla systemu operacyjnego. Chyba że
inaczej określone przez tę opcję, pergrep używa domyślnych ustawień biblioteki. ten
możliwe wartości tej opcji to CR, LF, CRLF, ANYCRLF lub ANY. To sprawia, że
możliwe w użyciu pergrep do skanowania plików pochodzących z innych środowisk
bez konieczności modyfikowania końcówek linii. Jeśli dane, które są skanowane
nie zgadza się z konwencją ustaloną przez tę opcję, pergrep może zachowywać się w
dziwne sposoby. Zauważ, że ta opcja nie dotyczy plików określonych przez -f,
--Wykluczyć zlub --włącz-z opcje, które mają używać
standardowa sekwencja nowego wiersza systemu operacyjnego.
-n, --numer linii
Poprzedź każdy wiersz wyjścia jego numerem wiersza w pliku, a następnie dwukropkiem oznaczającym
pasujące linie lub myślnik dla linii kontekstu. Jeśli nazwa pliku jest również
wyjście, poprzedza numer linii. Ta opcja jest wymuszona, jeśli --przesunięcia linii is
używany.
--nie-jit Jeśli biblioteka PCRE jest zbudowana z obsługą kompilacji just-in-time (co
przyspiesza dopasowanie), pergrep automatycznie z tego korzysta, chyba że tak było
wyraźnie wyłączone w czasie kompilacji. Ta opcja może być użyta do wyłączenia używania
JIT w czasie wykonywania. Jest przeznaczony do testowania i rozwiązywania problemów. Ono
nigdy nie powinny być potrzebne w normalnym użytkowaniu.
-o, --tylko-pasujące
Pokaż tylko część linii, która pasuje do wzoru, a nie całą linię.
W tym trybie kontekst nie jest pokazywany. To jest -A, -B, -C opcje są
ignorowane. Jeśli w linii jest więcej niż jeden mecz, każdy z nich jest wyświetlany
osobno. Gdyby -o jest połączone z -v (odwróć sens dopasowania, aby znaleźć
niepasujące linie), żadne dane wyjściowe nie są generowane, ale ustawiony jest kod powrotu
odpowiednio. Jeśli dopasowana część linii jest pusta, nic nie jest wyprowadzane
chyba że drukowana jest nazwa pliku lub numer wiersza, w takim przypadku są one
pokazane w pustym wierszu. Ta opcja wyklucza się wzajemnie z --plik-
przesunięcia oraz --przesunięcia linii.
-onumer, --tylko-pasujące=numer
Pokaż tylko część linii, która pasuje do nawiasów przechwytujących w
podany numer. Obsługiwanych jest do 32 nawiasów przechwytujących, a -o0 to
równoważny -o bez numeru. Ponieważ te opcje można podać bez
argument (patrz wyżej), jeśli argument jest obecny, musi być podany w tym samym
element powłoki, na przykład -o3 lub --only-matching=2. Komentarze podane dla
przypadek bez argumentów powyżej dotyczy również tego przypadku. Jeśli określone przechwytywanie
nawiasy nie istnieją we wzorcu lub nie zostały ustawione w dopasowaniu, nic
jest wypisywany, chyba że drukowana jest nazwa pliku lub numer wiersza.
Jeśli ta opcja zostanie podana wiele razy, zostanie wyświetlonych wiele podciągów, w
zamów opcje są podane. Na przykład -o3 -o1 -o3 powoduje powstanie podciągów
dopasowane przez przechwycenie nawiasów 3 i 1, a następnie ponownie 3 do wyprowadzenia. Za pomocą
domyślnie nie ma separatora (ale zobacz następną opcję).
--om-separator=XNUMX
Określ ciąg oddzielający dla wielu wystąpień -o. Wartość domyślna to
pusta struna. Sznurki rozdzielające nigdy nie są barwione.
-q, --cichy
Pracuj cicho, to znaczy nie wyświetlaj nic poza komunikatami o błędach. Status wyjścia
wskazuje, czy znaleziono dopasowania.
-r, - rekurencyjny
Jeśli podana ścieżka jest katalogiem, rekursywnie przeskanuj zawarte w nim pliki, biorąc
uwaga o jakimkolwiek --włączać oraz --wykluczać ustawienia. Domyślnie katalog jest odczytywany jako
normalny plik; w niektórych systemach operacyjnych powoduje to natychmiastowy koniec pliku.
Ta opcja jest skrótem do ustawiania -d opcja "rekursji".
--rekurencja-limit=numer
See --limit dopasowania powyżej.
-s, --brak wiadomości
Pomijaj komunikaty o błędach dotyczące nieistniejących lub nieczytelnych plików. Takie pliki są
cicho pominął. Jednak kod powrotu to nadal 2, nawet jeśli znaleziono dopasowania
w innych plikach.
-u, --utf-8
Działaj w trybie UTF-8. Ta opcja jest dostępna tylko wtedy, gdy PCRE został skompilowany
z obsługą UTF-8. Wszystkie wzory (w tym te dla dowolnych --wykluczać oraz
--włączać opcje) i wszystkie skanowane wiersze tematu muszą być prawidłowymi ciągami
znaków UTF-8.
-V, --wersja
Wpisz numery wersji pergrep oraz bibliotekę PCRE do standardu
wyjście, a następnie wyjść. Wszystko inne w wierszu poleceń jest ignorowane.
-v, --odwróć-dopasowanie
Odwróć sens dopasowania, aby linie, które nie pasuje do dowolnego z
wzorce to te, które zostały znalezione.
-w, --słowo-regex, --słowo-wyrażenie regularne
Wymuś wzorce, aby pasowały tylko do całych słów. Jest to równoznaczne z posiadaniem \b w
początek i koniec wzoru. Ta opcja dotyczy tylko wzorów, które
są dopasowywane do zawartości plików; nie dotyczy to wzorów
określony przez którykolwiek z --włączać or --wykluczać opcje.
-x, --line-regex, --line-wyrażenie regularne
Wymuś zakotwiczenie wzorców (każdy musi zacząć dopasowywać na początku
linię) i dodatkowo wymagają, aby pasowały do całych linii. To jest równoważne
do posiadania znaków ^ i $ na początku i na końcu każdej alternatywnej gałęzi w
każdy wzór. Ta opcja dotyczy tylko pasujących wzorców
zawartość plików; nie dotyczy to wzorów określonych przez którykolwiek z
--włączać or --wykluczać opcje.
ŚRODOWISKO ZMIENNE
Zmienne środowiskowe LC_ALL oraz LC_CTYPE są sprawdzane w tej kolejności pod kątem lokalizacji.
Używany jest pierwszy, który jest ustawiony. Może to zostać zastąpione przez --widownia opcja. Jeśli nie
locale jest ustawione, używane są domyślne ustawienia lokalne biblioteki PCRE (zwykle "C").
NOWOŚCI
-N (--Nowa linia) opcja pozwala pergrep do skanowania plików z różnymi konwencjami nowego wiersza
od domyślnego. Wszelkie części plików wejściowych, które są zapisywane na standardowe wyjście są
skopiowane identycznie, z dowolnymi sekwencjami nowego wiersza, które mają na wejściu. Jednakże
ustawienie tej opcji nie wpływa na interpretację plików określoną przez -f,
--Wykluczyć zlub --włącz-z opcje, które z założenia wykorzystują system operacyjny
standardowa sekwencja nowego wiersza ani nie wpływa na sposób, w jaki pergrep pisze,
komunikaty informacyjne do standardowych strumieni błędów i wyjściowych. Dla tych używa
ciąg "\n", aby wskazać znaki nowej linii, polegając na bibliotece CI/O, aby przekonwertować to na
odpowiednią sekwencję.
OPCJE ZGODNOŚĆ
Wiele krótkich i długich form pergrepopcje są takie same jak w GNU grep
program. Dowolna długa opcja formy --xxx-wyrażenie regularne (terminologia GNU) jest również dostępna jako
--xxx-regex (terminologia PCRE). Jednakże --lista-plików, --przesunięcia-plików, --include-dir,
--przesunięcia linii, --widownia, --limit dopasowania, -M, --multilinia, -N, --Nowa linia, --om-separator,
--rekurencja-limit, -u, --utf-8 opcje są specyficzne dla pergrep, podobnie jak użycie
--tylko-pasujące opcja z numerem przechwytującym nawiasy.
Chociaż większość typowych opcji działa w ten sam sposób, kilka z nich różni się w pergrep.
Na przykład, --włączać argumentem opcji jest glob dla GNU grep, ale zwykły
wyrażenie dla pergrep. Jeśli oba -c oraz -l podano opcje, GNU grep wyświetla tylko plik
nazwiska, bez liczenia, ale pergrep daje rachuby.
OPCJE Z DATA
Istnieją cztery różne sposoby określenia opcji z danymi. Jeśli krótki
używana jest opcja formularza, dane mogą pojawić się natychmiast lub (z jednym wyjątkiem) w następnym
element wiersza poleceń. Na przykład:
-f/jakiś/plik
-f /niektóre/pliki
Wyjątkiem jest -o opcja, która może pojawić się z danymi lub bez. Z tego powodu,
jeśli dane są obecne, muszą następować natychmiast w tej samej pozycji, na przykład -o3.
Jeśli użyto opcji długiej formy, dane mogą pojawić się w tym samym elemencie wiersza poleceń,
oddzielone znakiem równości lub (z dwoma wyjątkami) może pojawić się w następnym
element wiersza poleceń. Na przykład:
--plik=/jakiś/plik
--plik /niektóre/pliki
Zauważ jednak, że jeśli chcesz podać nazwę pliku zaczynającą się od ~ jako dane w powłoce
poleceniem i każ powłoce rozwinąć ~ do katalogu domowego, musisz oddzielić nazwę pliku
z opcji, ponieważ powłoka nie traktuje ~ specjalnie, chyba że jest na początku
przedmiot.
Wyjątkiem od powyższego są --kolor (lub --kolor) i --tylko-pasujące opcje, dla
których dane są opcjonalne. Jeśli jedna z tych opcji zawiera dane, należy je podać w
pierwsza forma, używając znaku równości. Inaczej pergrep przyjmie, że nie ma
danych.
PASUJĄCY BŁĘDY
Możliwe jest dostarczenie wyrażenia regularnego, którego dopasowanie zajmuje bardzo dużo czasu
pewne linie. Takie wzorce zwykle obejmują zagnieżdżone nieskończone powtórzenia, na przykład:
(a+)*\d przy dopasowaniu do linii z bez końcowej cyfry. Funkcja dopasowywania PCRE
ma limit zasobów, który powoduje przerwanie w takich okolicznościach. Jeżeli to się stanie,
pergrep wyświetla komunikat o błędzie i linię, która spowodowała problem, do standardu
strumień błędów. Jeśli jest więcej niż 20 takich błędów, pergrep poddaje się.
--limit dopasowania opcja pergrep może służyć do ustalenia ogólnego limitu zasobów; tam
to druga opcja o nazwie --rekurencja-limit który wyznacza limit ilości pamięci
(zazwyczaj stos), który jest używany (patrz omówienie tych opcji powyżej).
DIAGNOSTYKA
Status wyjścia wynosi 0, jeśli znaleziono jakiekolwiek dopasowania, 1, jeśli nie znaleziono żadnych dopasowań, a 2 dla składni
błędy, zbyt długie linie, nieistniejące lub niedostępne pliki (nawet jeśli znaleziono dopasowania w
inne pliki) lub zbyt wiele błędów dopasowania. Używając -s opcja pomijania komunikatów o błędach
o niedostępnych plikach nie wpływa na kod zwrotny.
Korzystaj z zpcregrep online za pomocą usług onworks.net