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!