Jak korzystać z polecenia Grep w systemie Linux

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

GREPoznacza „Globalny druk wyrażeń regularnych”. 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.

greppobiera 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ę szczegółowo działaniu greppolecenia z kilkoma praktycznymi przykładami.

Opcje dostępne za pomocą greppolecenia

Oto niektóre z podstawowych opcji, których będziesz często używać z greppoleceniem.

Opcja Opis
-i W przypadku wyszukiwania bez uwzględniania wielkości liter
-r Aby rekursywnie wyszukiwać wszystkie pliki w określonym katalogu i jego podkatalogach
-c Aby wyświetlić całkowitą liczbę wystąpień ciągu
-v Aby wyświetlić niepasujące linie
-w Filtruj dla tego konkretnego słowa używanego osobno

Korzystanie z greppolecenia

grepPolecenie jest zwykle używane z narzędziem potoku ( |). Można go zaimplementować za pomocą potoku powłoki, gdy chcesz go używać z innymi poleceniami Linuksa. Chociaż grepmoże być również używany indywidualnie bez narzędzia rury ( |).

Zobaczmy kilka podstawowych składni greppolecenia z narzędziem potoku i bez niego.

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

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource
cartesian coordinates
importance of all th cartesian coordinates.
Following are two empty lines.



use of a bullock cart is a common sight in the village for the agrarian chores.

This is the end of the sample file.

grepstosuje się rury (|) narzędzia

grepPolecenie można zaimplementować wraz z innymi poleceniami systemu Linux za pomocą potoków powłoki. Na przykład użycie catpolecenia do wyświetlenia zawartości pliku, ale jednocześnie potok wyjścia za pomocą greppolecenia, aby wyświetlić tylko zawartość, którą chcesz zobaczyć. Będzie to jaśniejsze, gdy przejdziemy przez przykład.

Składnia :

[command] | grep [string]

Przykład :

cat sample.txt | grep legislature

Tutaj użyłem catpolecenia, aby wyświetlić kilka wierszy z pliku 'sample.txt'. Należy wyświetlić tylko te wiersze, które zawierają słowo „legislature”, a pozostałe wiersze należy pominąć.

Wyjście :

[email protected]:~/workspace$ cat sample.txt | grep legislature
india stands on three pillars of legislature, executive and judiciary.
[email protected]:~/workspace$

grepużywany bez rury ( | ) narzędzie

grepmoże być nawet używany bezpośrednio jako pojedyncze polecenie bez użycia narzędzia pipe ( | ).

Składnia :

grep [string_to_be_searched] [filename]

Przykład :

grep India sample.txt

Wyjście :

India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource

Dlatego użyłem greppolecenia bezpośrednio do filtrowania wierszy zawierających ciąg „Indie” z pliku tekstowego „sample.txt”.

Wyszukiwanie bez rozróżniania wielkości liter za pomocą greppolecenia

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 gdy użyjemy greppolecenia bez żadnej opcji, wyszukuje ono dokładne dopasowanie w pliku, pomijając wszelkie zmiany wielkości liter.

Aby uniknąć tej niejednoznaczności, możesz po prostu użyć -iopcji, która dosłownie mówi greppoleceniu „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 [string] [filename]

Przykład :

grep -i peace sample.txt

Wyjście :

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
India Is a Beautiful Country Of Peace Loving People.

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

Wyszukiwanie rekurencyjne za pomocą greppolecenia

-rOpcja wyszuka wszystkie pliki w katalogu i wszystkich jego podkatalogów, który pasuje do wzorca ciąg dostarczone przez użytkownika w poleceniu.

Składnia :

grep -i -r [string] [file_path]

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 „workspace” również zostaną przeskanowane w celu dopasowania do podanego wzorca ciągu.

Wyjście :

./context_log.policy:// catalina.policy - Security Policy Permissions for Tomcat 7
./context_log.policy:// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${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 JARs
./catalina.properties:# - Tomcat API JARs
./catalina.properties:# - Tomcat JARs
./catalina.properties:# - Common non-Tomcat JARs
./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:    
./tomcat-users.xml:  
./tomcat-users.xml:
./web.xml:  
./web.xml:  

UWAGA : Używając -ropcji z greppoleceniem musimy podać ścieżkę do pliku, a nie nazwę pliku

Wyszukiwanie całych słów tylko za pomocą greppolecenia

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 wiersze pasujące do tego słowa w pliku „sample.txt”.

grep -i cart sample.txt

Wyjście :

Cartesian coordinates
importance of all the Cartesian coordinates.
use of a bullock cart is a common sight in the village for the agrarian chores
The cart went missing as the boy left it loose.

W wyniku 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, mimo że nie chcemy, aby były wyświetlane.

Możesz użyć -wopcji z greppoleceniem, aby rozwiązać tę niejednoznaczność.

Składnia :

grep -i -w [string] [filename]

Przykład :

grep -i -w cart sample.txt

Wyjście :

use of a bullock cart is a common sight in the village for the agrarian chores.
The cart went missing as the boy left it loose.

Teraz po skorzystaniu z wopcji – grepotrzymasz tylko te wiersze, w których słowo „koszyk” jest użyte jako całość.

Wyszukiwanie odwrócone za pomocą greppolecenia

greppolecenie może być również użyte w odwrotny sposób. Możemy użyć greppolecenia odwrotnie, ukrywając pasujące linie i wyświetlając tylko te linie, w których nie znaleziono dopasowania. Możesz to zrobić za pomocą -vopcji z greppoleceniem.

Składnia :

grep -i -v [string] [filename]

Przykład :

grep -i -v resource sample.txt

Wyjście :

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
cartesian coordinates
importance of all th cartesian coordinates.




use of a bullock cart is a common sight in the village for the agrarian chores.
This is the end of the sample file.

Na wyjściu wyświetlane są wszystkie inne wiersze, poza wierszem zawierającym słowo „resource”.

Zliczanie wystąpień pasującego ciągu

Wynik greppolecenia jest zwykle bardzo długi, jeśli dane w pliku są obszerne. Im więcej dopasowań, tym dłuższe są wyniki greppolecenia. Linux udostępnia opcję, w której możesz wyświetlić liczbę wystąpień dopasowania.

Składnia :

grep -i -c [string] [filename]

Przykład :

grep -i -c india sample.txt

Wyjście :

[email protected]:~/workspace$ grep -i -c india sample.txt
4
[email protected]:~/workspace$

W tym przypadku wynikiem jest liczba będąca liczbą wystąpień słowa „Indie” w pliku sample.txt.

UWAGA : Użyłem tej -iopcji 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ąć tę -i opcję.

Wniosek

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

Tags: #grep

10 najlepszych aplikacji do wideokonferencji dla systemu Linux

10 najlepszych aplikacji do wideokonferencji dla systemu Linux

Dla freelancerów i pracowników, którzy regularnie pracują w domu, komunikacja zdalna jest jedną z wielu rzeczy, o które trzeba zadbać. Obecnie dla wielu z nas wideokonferencje zastąpiły spotkania w biurze. Narzędzia takie jak Zoom i Skype odnotowały ogromny wzrost.

Jak zainstalować serwer FTP na Ubuntu w 5 krokach

Jak zainstalować serwer FTP na Ubuntu w 5 krokach

Jeśli konfigurujesz serwer Linux, będziesz potrzebować dostępu do FTP. Oznacza to najpierw zainstalowanie serwera FTP w systemie Linux. Powinna to być jedna z pierwszych rzeczy, które robisz po zainstalowaniu systemu operacyjnego serwera.

Jak łatwo szyfrować i odszyfrowywać pliki i katalogi w systemie Linux

Jak łatwo szyfrować i odszyfrowywać pliki i katalogi w systemie Linux

Czy kiedykolwiek chciałeś szybko i łatwo szyfrować pliki w systemie Linux bez konieczności instalowania i uczenia się nowych pakietów oprogramowania? Oto doskonały i łatwy sposób na łatwe szyfrowanie plików lub katalogów za pomocą AES256 zabezpieczonego hasłem, co pomaga trzymać pliki z dala od wścibskich oczu.

Jak naprawić make: polecenie nie zostało znalezione Błąd w Ubuntu

Jak naprawić make: polecenie nie zostało znalezione Błąd w Ubuntu

Polecenie make jest prawdopodobnie jednym z najczęściej używanych poleceń w ekosystemie Linuksa. To polecenie służy do budowania i kompilowania programów bezpośrednio z kodu źródłowego.

Jak znaleźć i usunąć zduplikowane pliki w systemie Linux za pomocą fdupes

Jak znaleźć i usunąć zduplikowane pliki w systemie Linux za pomocą fdupes

Podczas pracy z dużą ilością multimediów i dokumentów często zdarza się, że na komputerze gromadzi się wiele kopii tego samego pliku. Nieuchronnie pojawia się zaśmiecona przestrzeń dyskowa wypełniona zbędnymi plikami, co powoduje okresowe sprawdzanie duplikatów plików w systemie.

Stabilne czy Bleeding-Edge Dystrybucje Linuksa: Którą z nich wybrać?

Stabilne czy Bleeding-Edge Dystrybucje Linuksa: Którą z nich wybrać?

Jednym z głównych wyborów, przed którymi staje wielu użytkowników Linuksa przy wyborze dystrybucji Linuksa, jest jej stabilność lub to, jak bardzo zmienia się oprogramowanie.

Czy rok 2020 jest rokiem pandemii szkodliwego oprogramowania dla Linuksa?

Czy rok 2020 jest rokiem pandemii szkodliwego oprogramowania dla Linuksa?

Jego reputacja w zakresie bezpieczeństwa oznacza, że ​​Linux jest często uważany za mniej podatny na rodzaje zagrożeń, które regularnie nękają systemy Microsoft Windows. Wiele z tego postrzeganego bezpieczeństwa pochodzi ze stosunkowo małej liczby systemów Linux, ale czy cyberprzestępcy zaczynają dostrzegać wartość w wybieraniu jakości, a nie ilości?

Jak pobrać i zainstalować uGet Download Manager w systemie Linux

Jak pobrać i zainstalować uGet Download Manager w systemie Linux

Menedżery pobierania to popularne narzędzie do zarządzania wszystkimi pobranymi plikami w jednej aplikacji i zapewniają przydatne funkcje. Jeśli niedawno przeszedłeś z systemu operacyjnego Windows na Linuksa, być może szukasz alternatywy dla słynnego Internet Download Managera (IDM).

Notatki na Chromebookach ułatwiające kursywą

Notatki na Chromebookach ułatwiające kursywą

Cursive to progresywna aplikacja internetowa (PWA), którą firma Google wprowadziła wraz z wydaniem Chromebooka HP x2 11. Możesz używać tej aplikacji do robienia odręcznych notatek na Chromebooku wyposażonym w rysik.

Jak korzystać z Vima: Przewodnik po podstawach

Jak korzystać z Vima: Przewodnik po podstawach

Vim to najpotężniejszy i najbardziej wszechstronny edytor kodu dostępny dla systemów uniksopodobnych. Jest to rozszerzenie edytora Vi opracowanego przez Billa Joya. Vim jest domyślnie dostępny w większości systemów Linux i BSD.