Jak korzystać z polecenia Grep w systemie Linux?

Zrozumienie polecenia grep z praktycznymi przykładami, aby łatwo filtrować i wyświetlać zawartość pliku

GREP oznacza „Globalny druk regularny”. Jest to przydatne narzędzie wiersza poleceń dostarczane przez Linuksa, służące do wyszukiwania wiersza tekstu, który odpowiada wzorcowi podanemu przez użytkownika.

grep pobiera dane wejściowe od użytkownika w postaci ciągów lub słów, które użytkownik chce wyszukać w określonym pliku. Polecenie sprawdza następnie plik określony przez użytkownika pod kątem tego wzorca, a następnie zwraca wiersze zgodne z podanym wzorcem.

Wykonuje świetną robotę, filtrując zawartość pliku, dzięki czemu nasze zadanie jest łatwiejsze do wyszukiwania określonej zawartości w jednym lub wielu plikach jednocześnie.

W tym artykule przyjrzyjmy się funkcjonowaniu grep polecenie ze szczegółowymi przykładami praktycznymi.

Opcje dostępne z grep Komenda

Oto niektóre z podstawowych opcji, z których będziesz często korzystać grep Komenda.

OpcjaOpis
-iW przypadku wyszukiwania bez uwzględniania wielkości liter
-rAby rekursywnie wyszukiwać wszystkie pliki w określonym katalogu i jego podkatalogach
-CAby wyświetlić całkowitą liczbę wystąpień ciągu
-vAby wyświetlić niepasujące linie
-wFiltruj dla tego konkretnego słowa używanego osobno

Używając grep Komenda

grep polecenie jest zwykle używane z potoku (|) pożytek. Można go zaimplementować za pomocą potoku powłoki, gdy chcesz go używać z innymi poleceniami Linuksa. Chociaż, grep może być również stosowany samodzielnie bez rury (|) pożytek.

Zobaczmy niektóre z podstawowych składni grep polecenie z narzędziem potoku i bez niego.

Najpierw pokażę przykładowy plik tekstowy, którego użyję do zilustrowania grep Komenda.

INDIE TO PIĘKNY KRAJ POKOJU KOCHAJĄCYCH LUDZI. Indie stoją na trzech filarach: władzy ustawodawczej, wykonawczej i sądownictwa. Indie to piękny kraj, w którym ludzie kochają pokój. Indie troszczą się o ludzi, ponieważ ich zasoby kartezjańskie określają znaczenie wszystkich współrzędnych kartezjańskich. Poniżej znajdują się dwie puste linie. używanie wozu wołowego jest powszechnym widokiem w wiosce przy pracach agrarnych. To jest koniec przykładowego pliku.

grep używany z rurą ( | )pożytek

grep Polecenie można zaimplementować wraz z innymi poleceniami systemu Linux za pomocą potoków powłoki. Na przykład, używając Kot polecenie, aby wyświetlić zawartość pliku, ale jednocześnie potoku wyjście za pomocą grep polecenie, aby wyświetlić tylko te treści, które chcesz zobaczyć. Będzie to jaśniejsze, gdy przejdziemy przez przykład.

Składnia:

[polecenie] | grep [napis]

Przykład:

kot przyklad.txt | grep ustawodawca

Tutaj użyłem Kot polecenie, aby wyświetlić kilka wierszy z pliku „sample.txt”. Wyświetlane mają być tylko te wiersze, które zawierają w sobie słowo „legislatura” i zignorować pozostałe wiersze.

Wyjście:

gaurav@ubuntu:~/workspace$ cat sample.txt | grep legislature india stoi na trzech filarach: władzy ustawodawczej, wykonawczej i sądownictwa. gaurav@ubuntu:~/workspace$

grep używany bez rury ( | )pożytek

grep może być nawet używany bezpośrednio jako indywidualne polecenie bez użycia potoku ( | ) pożytek.

Składnia:

grep [ciąg_do_przeszukania] [nazwa pliku]

Przykład:

grep Indie przykładowy.txt

Wyjście:

Indie to piękny kraj, w którym ludzie kochają pokój. Indie dbają o ludzi, ponieważ są to zasoby

Dlatego użyłem grep polecenie bezpośrednio, aby odfiltrować wiersze zawierające ciąg „Indie” z pliku tekstowego „sample.txt”.

Wyszukiwanie bez rozróżniania wielkości liter przy użyciu grep Komenda

Linux bardzo ostrożnie podchodzi do rozróżniania wielkości liter, gdy uruchamiamy polecenia na terminalu. Wymaga to od użytkownika rozważenia wielkości liter w łańcuchu umieszczonym w poleceniu.

Zobaczmy to na przykładzie.

grep Peace sample.txt

W tym przypadku nie otrzymamy wyniku, ponieważ w przykładowym pliku nie ma słowa „pokój”. Mamy słowo „Pokój” przez duże „P”. Słowo jest takie samo, ale kiedy używamy grep polecenie bez żadnej opcji, szuka dokładnego dopasowania w pliku, pomijając wszelkie zmiany wielkości liter.

Aby uniknąć tej niejasności, możesz po prostu użyć -i opcja, która dosłownie mówi grep Komenda „zapomnij o przypadku, w którym umieściłem ciąg, i po prostu wyszukaj wszystkie pasujące wzorce w pliku”.

Składnia:

grep -i [napis] [nazwa pliku]

Przykład:

grep -i pokój przykład.txt

Wyjście:

INDIE TO PIĘKNY KRAJ POKOJU KOCHAJĄCYCH LUDZI. Indie to piękny kraj, w którym ludzie kochają pokój.

Wszystkie pasujące wiersze są wyświetlane niezależnie od wielkości pasującego łańcucha.

Wyszukiwanie rekurencyjne za pomocą grep Komenda

ten -r Opcja wyszuka wszystkie pliki w katalogu i wszystkie jego podkatalogi, które pasują do wzorca łańcucha podanego przez użytkownika w poleceniu.

Składnia:

grep -i -r [ciąg] [ścieżka_pliku]

Przykład:

grep -i -r tomcat /home/gaurav/workspace

Ciąg tutaj to „tomcat” i zostanie przeszukany w obszarze roboczym katalogu. Wszystkie podkatalogi i pliki w katalogu „obszar roboczy” również zostaną przeskanowane w celu dopasowania dostarczonego wzorca ciągu.

Wyjście:

./context_log.policy://catalina.policy - Uprawnienia polityki bezpieczeństwa dla Tomcata 7./context_log.policy:// Uwaga: Jeśli tomcat-juli.jar znajduje się w ${catalina.base}, a nie w ${catalina.home }, ./context_log.policy:// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} ./context_log.policy:grant codeBase "file:${catalina.home }/bin/tomcat-juli.jar" { ./context_log.policy: permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server"; ./context.xml: ./catalina.properties:# - Tomcat Bootstrap JAR ./catalina.properties:# - Tomcat API JAR ./catalina.properties:# - Tomcat JAR ./catalina.properties:# - Wspólne inne niż Tomcat Pliki JAR ./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar ./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true ./catalina.properties:# tomcat.util.buf.StringCache.char.enabled=true ./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000 ./catalina.properties:#tomcat.util.buf.StringCache.cacheSize=5000 . /server.xml: pathname="conf/tomcat-users.xml" /> ./server.xml: 

UWAGA: Podczas korzystania z -r opcja z grep polecenie musimy podać ścieżkę pliku, a nie nazwę pliku

Wyszukiwanie całych słów tylko za pomocą grep Komenda

Wiele razy jest tak, że będziesz szukał jednego słowa, ale w końcu zapełnisz swój terminal pasującymi liniami, które zawierają pasujące słowo, ale nie jako pojedyncze słowo. Możesz zobaczyć wiersze zawierające słowa, których podczęścią jest wprowadzony ciąg.

Mylisz się z tym? Nie martw się, o wiele łatwiej to zrozumieć, gdy zdobędziesz przykład.

Przykład:

Tutaj chcę wyszukać pojedyncze słowo „koszyk” i wyświetlić wszystkie linie pasujące do tego słowa w pliku „sample.txt”.

grep -i koszyk przykładowy.txt

Wyjście:

Współrzędne kartezjańskie ważność wszystkich współrzędnych kartezjańskich. używanie wozu wołowego jest częstym widokiem w wiosce przy pracach agrarnych. Wóz zniknął, gdy chłopiec zostawił go luzem.

Na wyjściu można zauważyć, że słowo „kartezjański” zawiera również słowo „wózek”, a zatem wiersze zawierające słowo „kartezjański” są również wyświetlane, chociaż nie chcemy, aby były wyświetlane.

Możesz użyć -w opcja z grep polecenie, aby rozwiązać tę niejednoznaczność.

Składnia:

grep -i -w [ciąg] [nazwa pliku]

Przykład:

grep -i -w koszyk przykładowy.txt

Wyjście:

używanie wozu wołowego jest powszechnym widokiem w wiosce przy pracach agrarnych. Wózek zniknął, gdy chłopiec zostawił go luzem. 

Teraz, kiedy już wykorzystałeś –w opcja z grep otrzymasz tylko te wiersze, w których słowo „wózek” jest używane jako całość.

Wyszukiwanie odwrócone za pomocą grep Komenda

grep polecenie może być również użyte w odwrotny sposób. Możemy użyć grep polecenie przeciwnie, ukrywając pasujące linie i wyświetlając tylko te linie, w których nie znaleziono dopasowania. Możesz to zrobić za pomocą -v opcja z grep Komenda.

Składnia:

grep -i -v [ciąg] [nazwa pliku]

Przykład:

grep -i -v przykładowy zasób.txt

Wyjście:

INDIE TO PIĘKNY KRAJ POKOJU KOCHAJĄCYCH LUDZI. Indie stoją na trzech filarach: władzy ustawodawczej, wykonawczej i sądownictwa. Indie to piękny kraj, w którym ludzie kochają pokój. współrzędne kartezjańskie ważność wszystkich współrzędnych kartezjańskich. używanie wozu wołowego jest powszechnym widokiem w wiosce przy pracach agrarnych. To jest koniec przykładowego pliku.

Na wyjściu wyświetlane są wszystkie inne wiersze oprócz wiersza zawierającego słowo „zasób”.

Zliczanie wystąpień pasującego ciągu

Wyjście grep polecenie jest zwykle bardzo długie, jeśli dane w pliku są obszerne. Im więcej dopasowań, tym dłuższe są wyjścia grep Komenda. Linux udostępnia opcję, w której możesz wyświetlić liczbę wystąpień dopasowania.

Składnia:

grep -i -c [ciąg] [nazwa pliku]

Przykład:

grep -i -c indie przykładowy.txt

Wyjście:

gaurav@ubuntu:~/workspace$ grep -i -c indie przykład.txt 4 gaurav@ubuntu:~/workspace$

W tym przypadku wynikiem jest liczba, która jest liczbą wystąpień słowa „Indie” w pliku sample.txt.

UWAGA: użyłem -i opcja w każdym przykładzie, aby być bezpiecznym w przypadku problemu z rozróżnianiem wielkości liter. Jeśli jesteś pewien co do wielkości słowa, którego szukasz, możesz bezpiecznie pominąć -i opcja.

Wniosek

Poznaliśmy podstawowe zastosowania grep polecenie w systemach Linux w tym samouczku. Nauczyliśmy się również wyświetlać różne treści, które najlepiej odpowiadają naszym wymaganiom i nie zapychać terminala mnóstwem wierszy. grep Polecenie z pewnością zaoszczędzi czas, jeśli zostanie użyte do skanowania dużych zbiorów danych.