Jako administrator systemu w systemie Linux być może będziesz musiał przeanalizować ogromny plik dziennika w systemie Linux. Może się to wydawać żmudnym zadaniem, zwłaszcza w przypadkach, gdy trzeba dopasować wzorce. Na szczęście polecenie grep w systemie Linux jest dobrodziejstwem w takich sytuacjach. Jeśli zastanawiasz się, czym jest polecenie grep i jak działa, poniżej przygotowaliśmy prosty przewodnik, który pomoże Ci zrozumieć to przydatne polecenie systemu Linux.

Spis treści

Co to jest polecenie grep w systemie Linux?

Polecenie grep to potężne narzędzie wiersza poleceń w systemie Linux, używane do wyszukiwania i filtrowania określonych wzorców lub ciągów znaków w pliku, katalogu, a nawet w danych wyjściowych innych poleceń. Być może zastanawiasz się nad jego niezwykłą nazwą; Cóż, oznacza to „Global Regular Expression Print”. Po raz pierwszy został wprowadzony przez Kena Thompsona w 1973 roku dla systemu operacyjnego Unix. Dzięki swojej wszechstronności i łatwości użycia polecenie grep jest niezbędnym narzędziem w arsenale każdego użytkownika Linuksa.

Ogólnie rzecz biorąc, polecenie grep jest preinstalowane w większości dystrybucji Linuksa, ale jeśli okaże się, że brakuje go w systemie, zainstaluj je za pomocą następujących poleceń:

Zainstaluj w systemach opartych na Debianie:

sudo apt install grep

Zainstaluj na systemach opartych na Fedorze:

sudo yum install grep

Zainstaluj na systemach opartych na Arch:

sudo pacman-S grep

Polecenie Grep: składnia i opcje

Korzystanie z polecenia grep w Linuksie jest dość proste dzięki prostej składni i wielu opcjom zabawy. Składnia polecenia grep jest następująca:

grep

W powyższej składni zastąp wzorcem, który chcesz search, a dla części zastąp ją plikiem/katalogiem, w którym chcesz szukać. A dla części dostępne są różne opcje, z którymi możesz pracować, w tym:

OptionsDescriptions-EInterpretuje jako wyrażenia regularne.-iWyszukuje i ignoruje wielkość liter.-vPokazuje linie, które nie pasują do -cZlicza liczbę pasujących linii.–kolorWyświetla wyniki w kolorze.

Jak używać polecenia grep w systemie Linux

Korzystanie z polecenia grep jest łatwe i ma prostą składnię. Wszystko, co musisz zrobić, to podać nazwę pliku lub katalogu, który chcesz wyszukać, oraz wzorzec, który chcesz dopasować. We wzorcu możesz użyć dokładnych słów lub wyrażeń regularnych. Pewnie zastanawiasz się – czym jest tutaj „wyrażenie regularne”? Wyrażenia regularne to specjalne ciągi znaków, które są interpretowane w różny sposób, gdy są używane w określonych obszarach. Zostają one zastąpione wszystkimi możliwymi kombinacjami pasującymi do wzorca.

Powiedz na przykład, że chcesz dopasować adresy e-mail, możesz użyć wyrażenia regularnego „(.+)\@(.+)\n”. Wydaje się skomplikowane? Rozłóżmy to na czynniki pierwsze:

(.+) dopasowuje dowolne znaki z wyjątkiem nowych linii \@ sprawdza, czy w danym zdaniu występuje symbol „@”.

Teraz, gdy już wiesz, czym są wyrażenia regularne i jak działa polecenie grep, zobaczmy teraz, jak używać polecenia grep w systemie Linux.

Wyszukiwanie ciągów znaków w plikach za pomocą polecenia grep

Najczęstszym sposobem używania grep jest wyszukiwanie określonych ciągów znaków w pliku. Podstawowa składnia wyszukiwania za pomocą polecenia grep w plikach to:

grep

W części należy podać dokładny ciąg znaków chcesz wyszukać. Na przykład, jeśli chcesz wyszukać ciąg „mango” w pliku o nazwie owoce.txt, użyj tego polecenia:

grep”mango”owoce.txt

Jeśli chcesz aby wyszukać ignorując wielkość liter, użyj flagi-i z poleceniem grep dla powyższego przykładu:

grep-i”mango”fruits.txt

Wyszukiwanie w wielu plikach za pomocą grep

Za pomocą polecenia grep możesz wyszukiwać nie tylko w jednym pliku, ale także w wielu plikach. Ta funkcja jest szczególnie przydatna, gdy trzeba przejrzeć wiele dużych plików. Składnia wyszukiwania łańcuchów/wzorców w wielu plikach za pomocą polecenia grep jest następująca:

grep

Na przykład, jeśli chcesz aby wyszukać ciąg „student” w plikach „student1.txt” i „student2.txt”, użyj tego polecenia:

grep”John”student1.txt student2.txt

Wyszukaj wszystkie pliki w katalogu za pomocą grep

Załóżmy, że musisz wyszukać ciąg znaków i nie pamiętasz nazwy pliku, w którym on istnieje. Możesz oczywiście wpisać wszystkie nazwy plików znajdujące się w katalogu, ale zamiast tego możesz po prostu użyć symbolu wieloznacznego „*”, jak pokazano:

grep“pattern_to_search”*

Na przykład, jeśli chcesz wyszukać ciąg „jabłko” we wszystkich plikach znajdujących się w katalogu, użyj tego polecenia:

grep”jabłko”*

Jeśli chcesz wyszukiwać tylko w określonych typach plików, użyj tego składnia:

grep“pattern_to_search”*.

Na przykład, jeśli chcesz wyszukać słowo „mango” tylko w plikach.txt, użyj tego polecenie:

grep”mango”*.txt

Używanie wyrażeń regularnych z grep

Główną zaletą polecenia grep w porównaniu z innymi narzędziami/poleceniami jest możliwość przetwarzania wyrażeń regularnych w celu wyszukiwania treść. Wystarczy dołączyć flagę-e do polecenia grep, aby wyszukiwać przy użyciu wyrażeń regularnych:

grep-e

Na przykład, jeśli chcesz odfiltrować identyfikatory e-mail użyj tego polecenia:

grep-e”(.+)\@(.+)”emails.txt

Wyszukiwanie wielu słów kluczowych przy użyciu polecenia grep

Teraz musisz już umieć wyszukiwać dla niektórych wzorców lub słów używających grep. Ale co, jeśli musisz wyszukać wiele słów/wzorców? Cóż, grep też cię obejmuje. Aby wyszukać wiele słów za pomocą polecenia grep, użyj następującej składni:

grep”\|“nazwa pliku

Tutaj \| określa, że ​​grep drukuje wynik, jeśli jedno z dwóch zapytań pasuje. Na przykład, jeśli chcesz wyszukać słowa „jabłko” i „mango” w pliku „owoce.txt”, użyj tego polecenia:

grep”jabłko\|mango”owoce.txt

Policz pasujące wyniki za pomocą polecenia grep

Czasami możesz potrzebować znać liczbę pasujących wyników. W tym celu możesz użyć flagi-c z poleceniem grep:

grep-c nazwa_pliku”pattern_to_search”

Na przykład, jeśli chcesz zobaczyć, ile jest identyfikatorów e-mail w pliku student1.txt użyj tego polecenia:

grep-E-c”(.+)@(.+)”student1.txt

Jeśli chcesz zobaczyć liczbę wierszy nie pasujących do wyszukiwanego hasła , po prostu dodaj flagę-v razem z-c:

grep-v-E-c”(.+)@(.+)”student1.txt

Korzystanie z polecenia grep z potokami powłoki

Sposób, w jaki potoki powłoki działają w systemie Linux, polega na wysyłaniu danych wyjściowych jednego polecenia do innego polecenia jako danych wejściowych. Podstawowa składnia używania potoków powłoki to:

first_command | second_command

Dzięki potokom powłoki filtrowanie niektórych danych wyjściowych poleceń za pomocą polecenia grep staje się o wiele łatwiejsze, zamiast ciągłego przewijania i szukania czegoś. Aby odfiltrować określone słowo lub wzorzec z danych wyjściowych określonego polecenia, po prostu zastąp w powyższej składni poleceniem i dodaj drugie polecenie ze składnią polecenia grep. Oto jak to działa:

first_command | grep

Na przykład, jeśli chcesz zobaczyć, ile razy polecenie gcc zostało wcześniej wykonane, możesz użyć tego polecenia:

history | grep gcc

Spowoduje to wyświetlenie tylko wyników zawierających słowo „gcc”, jak pokazano na poniższym obrazku.

Korzystanie z polecenia grep w systemie Linux

Polecenie grep jest niezbędnym narzędziem dla użytkowników, którzy chcą wyszukiwać określone wzorce lub słowa w różnych plikach, katalogach, a nawet w innych wynikach poleceń systemu Linux. Po opanowaniu wszystkich podstawowych opcji i składni polecenie grep może pomóc w wykładniczym zwiększeniu produktywności. Skoro już tu jesteś, sprawdź nowe funkcje w Ubuntu 23.04.

Polecenie Grep w najczęściej zadawanych pytaniach dotyczących systemu Linux

Czy w poleceniu grep rozróżniana jest wielkość liter podczas wyszukiwania wzorców?

Domyślnie grep działa z uwzględnieniem wielkości liter. Ale jeśli chcesz szukać ignorując wielkość liter, użyj flagi-i.

Jak mogę wyszukiwać w skompresowanych plikach?

Zgrep, zmodyfikowana wersja grep może być użyta do szukaj w skompresowanych plikach. Składnia wyszukiwania w skompresowanych plikach za pomocą polecenia zgrep jest następująca: zgrep”

Zostaw komentarz

W zeszłym roku firma MSI wprowadziła na rynek Titan GT77 z procesorem Intel Core i9-12900HX i RTX 3080 Ti Laptop GPU i był to najpotężniejszy laptop do gier na powierzchni planety. To był najcięższy z ciężkich hitów […]

Minęło kilka miesięcy od premiery serii iPhone 14 i dobrze wiadomo, że jest to rok modeli Pro. Ale jeśli zamierzasz wybrać plisowane Pro, kwota do wyrzucenia […]

Wondershare od kilku lat opracowuje jedne z najlepszych programów i narzędzi, które upraszczają nasze życie i twórcze wysiłki. W szczególności Wondershare Filmora otrzymał liczne wyróżnienia. Był laureatem nagrody Lidera Edycji Wideo […]

Categories: IT Info