Najczęstsza składnia GREP

Najczęstsza składnia GREP
W Linux, Grep jest jednym z wielu narzędzi, które są wstępnie zainstalowane. To właściwie akronim, który oznacza „Global Regular Expression Print.” Grep Polecenie może wyszukiwać ciąg w plikach opisanych przez wyrażenie regularne. Jeśli znaleziono jakikolwiek mecz, Grep Wydrukuje wynik w konsoli.

W tym przewodniku przyjrzymy się niektórym z najczęstszych implementacji Grep Komenda.

Grep Struktura dowodzenia

Każde polecenie GREP będzie miało następujące elementy.

$ grep

Wspólny Grep Składnia

Wyszukiwanie ciągu w pliku

To najprostszy sposób korzystania z Grep Komenda. W poniższym przykładzie, Grep W pliku będzie wyszukiwać termin „DKMS” (bez cytatów) Apt-Packages zainstalowane.tekst (zawierające wszystkie pakiety APT zainstalowane w systemie).

$ grep „dkms” apt-packages instalowane.tekst

Zaleca się użycie podwójnych cytatów („”), aby wskazać ciąg, ponieważ ciąg może zawierać znaki specjalne i białe listy.

Wyszukiwanie ciągu w wielu plikach

Grep Polecenie może również wykonywać wyszukiwania w wielu plikach. Wszystko, co musisz zrobić, to określić pliki sekwencyjne.

$ grep „dkms” apt-packages-installed-1.txt apt-packages-instaled-2.tekst

Zamiast ręcznie określać pliki, możesz również użyć wyrażenia Wildcard (*).

$ grep „dkms” apt-packages-instaled-*.tekst

Co jeśli chcielibyśmy przeprowadzić wyszukiwanie wszystkich plików w bieżącym katalogu? Po prostu ustaw wyrażenie wieloznaczne, aby wskazać każdy plik w bieżącym katalogu.

$ grep „dkms” *

Jak możemy zobaczyć, Grep Znalazłem wszystkie dopasowania w plikach tekstowych, ale nie obsługiwały dobrze katalogi. To doskonale prowadzi do następnego punktu.

Wyszukiwanie podkatalogów

Domyślnie, Grep nie wyszukiwaj podkładów w poszukiwaniu meczów. Jeśli chcesz to zrobić, musisz to powiedzieć, dodając flagę „-R."

Spróbuj ponownie przeprowadzić poprzednie wyszukiwanie z tą nową sztuczką.

$ grep -r „dkms” *

Zauważ, że biorąc pod uwagę warstwy podkatalogów i liczbę plików do przesiewania, Grep może zająć trochę czasu. Na ekranie, będzie wyglądać tak, jakby jest zamrożony. Więc nie panikuj, jeśli napotykasz podobne sytuacje.

Sprawdzanie numeru linii dopasowania

Posiadanie numeru linii Grep mecz może być darem niebios. Aby zobaczyć numer linii meczu, użyj flagi „-n."

$ grep -n „dkms” *.tekst

Liczenie liczby meczów

Grep polecenie może policzyć liczbę dopasowań w wyniku wyszukiwania. Aby to zrobić, użyj flagi „-L."

$ grep -c „dkms” *.tekst

Tutaj, Grep pokaże liczbę dopasowań dla każdego wyszukiwanego pliku.

Wydrukuj nazwę pasujących plików

Czasami chcesz wiedzieć, które pliki pasowały do ​​wzoru określonego bez wyniku wyszukiwania. Jeśli tak jest, użyj flagi „-L."

$ grep -l „dkms” *.tekst

Wydrukuj linie przed i po pasującym ciągu

Domyślnie, Grep Wydrukuje wiersz, który znajdzie określony ciąg. Możemy jednak skalibrować wyjście, aby wydrukować kilka linii przed i/lub po dopasowaniu ciągów.

GREP wydrukuje pasujący ciąg wraz z 5 poprzednimi wierszami na konsoli w następującym poleceniu, dzięki flagowi „-B”.

$ grep -b 5 „dkms” apt-packages-installed-1.tekst

Podobnie możemy również powiedzieć Grep, aby wydrukował kilka linii po znalezieniu pasującego ciągu. Aby to zrobić, użyjemy flagi „-a.”W poniższym przykładzie, Grep Wydrukuje 5 linii po znalezieniu dopasowania.

$ grep -a 5 „dkms” apt-packages-installed-1.tekst

Teraz nadszedł czas, aby połączyć obie te funkcje.

$ grep -a 5 -B 5 „dkms” apt-packages-instaled-1-1.tekst

Polecenie staje się niepotrzebnie mylące w ten sposób. Możemy powiedzieć, że Grep wydrukował kilka przed i po meczu, aby to rozwiązać. Aby to zrobić, użyjemy flagi „-C."

$ grep -c 5 „dkms” apt-packages-installed-1.tekst

Zauważ, że wyjście będzie symetryczne wokół pasującego ciągu, jeśli używasz flagi „-C”. Jeśli chcesz asymetryczną liczbę linii, musisz je osobno opisać za pomocą flag „-a” i „-B”.

Ograniczenie Grep wyjście

Jeśli pracujesz z dużym plikiem tekstowym, który zawiera wiele wystąpień wzorca wyszukiwania, to Grep Wyjście wydrukuje dużą część wyjściowej z dużą ilością bałaganu. Na przykład,

$ grep „zainstalowane” apt-packages-instaled-1.tekst

Możemy powiedzieć GREP, aby ograniczył liczbę linii, które może wyprowadzić w takiej sytuacji. Aby to zrobić, użyjemy flagi „-m.„Polecenie będzie wyglądało tak:

$ grep -m 10 „zainstalowane” apt-packages-instaled-1.tekst

Tutaj, Grep wydrukuje tylko pierwsze 10 pasujących wzorów.

Za pomocą Grep z Stdout

StDout to strumień plików. To potężna funkcja muszli (jak Bash). Jest to plik tymczasowy, który zawiera dane wyjściowe poprzedniego polecenia. Po uruchomieniu następnego polecenia wartość Stdout jest zaktualizowane. Dowiedz się więcej o Stdin, Stderr, I Stdout w Bash.

Polecenie GREP może również działać Stdout treść. Na przykład możesz złożyć wyjście polecenia dla Grep pracować nad.

W poniższym przykładzie polecenie APT zwraca listę wszystkich pakietów zainstalowanych w systemie. Prowadzimy moc wyjściową Grep i wyszukaj termin „DKMS” na wyjściu. Według GrepDomyślne zachowanie, wydrukuje wszystkie wiersze zawierające ciąg.

Lista $ apt -zainstalowana | GREP „DKMS”

Wyjście może ostrzec, że użycie apt w skryptach nie jest zalecane jako APT nie oferuje stabilnego interfejsu CLI. Dowiedz się więcej o APT Pakiet Manager na Ubuntu.

Końcowe przemyślenia

To jest krótki przewodnik na temat niektórych z najczęstszych zastosowań Grep Komenda. Do opanowania Grep, Zaleca się sprawdzenie tego mega przewodnika pokazującego 30 przykładów GREP.

Strona pomocy z Grep Drukuje krótką stronę wszystkich dostępnych opcji.

$ grep - -help

Strona mężczyzny Grep zawiera wszystkie opcje ze szczegółowymi wyjaśnieniami.

$ man grep

Dla początkujących ten przewodnik Grep Polecenie w Linux jest doskonałym punktem wyjścia.

Szczęśliwy komputer!