Jak używać GREP do wyszukiwania rekurencyjnego

Jak używać GREP do wyszukiwania rekurencyjnego
Instrukcja „GREP” była bardzo dobrze znana wśród użytkowników Linux ze swoich możliwości wyszukiwania. Zapytanie „GREP” działa inaczej, gdy jest używane z różnymi flagami do wyszukiwania rekurencyjnych. Najczęściej używaną flagą polecenia GREP jest „-R”, która implikuje wyszukiwanie w bieżącym katalogu. Zróbmy kilka przykładów przeszukiwania rekurencyjnego w Ubuntu 20.04 Korzystanie z polecenia GREP. Zacznij od uruchomienia aplikacji terminalowej za pośrednictwem klucza skrótu „Ctrl+Alt+T”.

Wyszukaj bez ścieżki katalogu

Najpopularniejszym i najłatwiejszym sposobem na wyszukiwanie rekurencyjne jest użycie prostej flagi „-R” w poleceniu GREP i pasującym wzorze bez żadnej ścieżki. Używamy polecenia GREP do wyszukiwania wzorca „John” w plikach. Flaga „-R” przeszuka wszystkie pliki znajdujące się w domu lub bieżącym katalogu Ubuntu 20.04, a także w podfolderach katalogu domowego. Możesz zobaczyć, jak pokazuje ścieżki plików, które mają konkretny dopasowanie i wyświetla również dopasowany tekst w tym pliku. Pierwsze dwa pliki znajdują się w podkładce dokumentów folderu domowego, a pozostałe dwa znajdują się w katalogu domowym. Oznacza to, że szukał również z każdego podfolderu bieżącego katalogu.

$ grep -r „John”

Rekurencyjnie szukajmy innego słowa „serce”, wykorzystując instrukcję GREP za pomocą flagi „-R”. Wyjście polecenia pokazuje, że znaleziono je w dwóch plikach. Jeden plik znajduje się w katalogu domowym, podczas gdy drugi znajduje się w podwodnicy domu, i.mi., Dokumenty. Oba pliki zawierają tę samą nazwę.

$ grep -r „serce”

Rzućmy okiem na inną samą instancję z innym wzorem dopasowywania w poleceniu GREP. Używamy więc wzoru „CSS” do wyszukiwania z systemu rekurencyjnego.

$ grep -r „css”

Innym sposobem jest użycie znaku „*” do wyszukiwania w całych folderach i podfolderach. Przeszukaliśmy więc prostą postać „A” i znaleźliśmy ją w każdym pliku tekstowym katalogu domowego i jego podfolderów.

$ grep -r „a” *

Wyszukajmy rekurencyjne za pomocą polecenia GREP, ale w inny sposób. Będziemy przeszukiwać wzór, podczas gdy tekst w plikach nie będzie wyświetlany w terminalu za pomocą flagi „-L” w instrukcji. Tylko nazwa pliku lub ścieżka zostanie podana w danych wyjściowych, które pokazują, że znaleziono podany wzór. Próbowaliśmy więc tego samego zapytania z dodaniem flagi „-L”, aby wyszukać wzór „CSS”. Wyświetla powiązane pliki i ich ścieżki w wyjściu.

$ grep -r -l „css”

Wyszukaj ścieżką katalogową

Teraz zobaczymy działanie polecenia rekurencyjnego GREP na podanej ścieżce katalogu. Będziemy więc szukać trzech różnych wzorów w podkładowcach „pobierania” folderu domowego. Ścieżka do folderów pobierania została podana na obrazie w poleceniu GREP. Nie mamy nic w zamian, ponieważ wzór nie był zgodny ani nie został znaleziony.

$ grep -r cdd/home/linux/pobieranie
$ grep -r css/home/linux/pobieranie
$ grep -r poeta/home/linux/pobieranie

Szukajmy innego wzoru „IS” w folderze pobierania, wykorzystując tę ​​samą instrukcję. Znaleźliśmy dwa wyjścia dla tego wzoru. Wyjście wyświetla ścieżki pliku wraz z tekstem. Podkreślił również dopasowany wzór, i.mi., "Jest".

$ grep -r to/home/linux/pobieranie

Przeszukaliśmy inny wzór, „OK” w folderze do pobrania i otrzymaliśmy tylko 1 wyjście w zamian, ponieważ jest on dopasowany tylko do jednego pliku.

$ grep -r ok/home/linux/pobieranie

Ten sam wzór „OK” został przeszukany z innego podlokdrektory tym razem, ja.mi., Dokumenty. Polecenie GREP nie zwróciło nic, ponieważ folder nie zawiera żadnego pliku z określonym wzorem „OK”.

$ grep -r to/home/linux/dokumenty

Możesz także wyszukiwać rekurencyjnie w poszukiwaniu wartości ciągu. Tak więc podaliśmy adres IP jako ciąg i wspomnieliśmy o ścieżce. To polecenie wyszukiwa wszystkie pliki i foldery katalogu „ETC” w celu wyszukiwania wzoru ciągu. Dane wyjściowe pokazuje pojedynczy wynik.

$ grep -r „192.168.10.1 ” /etc / /

Wyszukaj wiele wzorów

Przyjrzeliśmy się przykładom poszukiwania pojedynczego wzoru za pomocą instrukcji rekurencyjnej GREP. Teraz zobaczymy sposób przeszukiwania wielu wzorców również rekurencyjnie. Więc wykorzystaliśmy polecenie GREP wraz z flagą „-RW”. Wskazuje to wiele wyszukiwań, które się wydarzyły. Po tej flacie możesz również wspomnieć o ścieżce. Używamy go bez ścieżki do wyszukiwania w katalogu domowym i jego podfolderów. Flaga „-e” została tutaj użyta do wskazania pojedynczego wzoru. Możesz użyć wielu flag „-e” zgodnie z liczbą wzorów, które chcesz wyszukać. Przeszukaliśmy tutaj tylko dwa wzory za pomocą „-e”. Znaleźliśmy 4 pliki w dopasowanym wyjściu. Trzy pliki zawierają wzór „CSS”, a 1 zawiera wzór „OK”.

$ grep -Rw -e ok -e css

Możesz także użyć polecenia GREP do wyszukiwania wielu wzorów w określonym pliku. W tym celu musisz usunąć flagę „-RW” z zapytania i dodać flagi „-e” tyle, ile chcesz. Ale musisz wspomnieć o nazwie pliku na końcu, jak pokazano poniżej. Wyświetla cały tekst z pliku i podkreśla pasujący wzór.

$ grep -e „wielki” -e „css” -e „is” -e „serce” nowe.tekst

Wyszukaj flagą „Includ”

Do określenia typów plików, które są przeszukiwane. Żadne inne pliki nie zostaną przeszukane. Więc w pierwszym przypadku nic nie mogliśmy dostać.

$ grep -r -include = ”*txt” „OK”/home/linux/
$ grep -r -include = ”*txt” „new”/home/linux/

W naszym drugim przypadku znaleźliśmy jedno wyjście.

Kolejny wzór, „CSS” został użyty do wyszukiwania rekurencyjnych i uzyskał trzy wyniki, jak pokazano na zdjęciu.

$ grep -r -include = ”*txt” „css”/home/linux/

Wniosek

Wyszukiwanie rekurencyjne zostało wykazane w tym przewodniku przy użyciu polecenia GREP. Polecenie „GREP” użyło wielu flag do pracy inaczej podczas wykonywania wyszukiwania rekurencyjnych, tj.mi., „-R” i „Include”. Samouczek wyjaśnia również wyszukiwanie rekurencyjne ze ścieżkami katalogu podane w poleceniu GREP i bez. Zatem ten artykuł zawiera pakiet łatwych do zrobienia przykładów dla użytkowników, aby najłatwiej nauczyć się wyszukiwania rekurencyjnego.