Przykłady poleceń grep w systemie Linux

Czasami użytkownicy stają przed koniecznością wyszukiwania określonych informacji w dowolnych plikach. Często dokumenty konfiguracyjne lub inne dane wolumetryczne zawierają dużą liczbę wierszy, więc niemożliwe jest ręczne znalezienie niezbędnych danych. Następnie jeden z wbudowanych poleceń do systemów operacyjnych Linux przychodzi na ratunek, co pozwoli ci znaleźć linie w ciągu kilku sekund.

Użyj polecenia grep w systemie Linux

Jeśli chodzi o różnice między dystrybucjami Linuksa, w tym przypadku nie odgrywają żadnej roli, ponieważ interesująca komenda grep jest dostępna domyślnie w większości zestawów i jest używana dokładnie w ten sam sposób. Dzisiaj chcielibyśmy przedyskutować nie tylko efekt grep , ale także główne argumenty, które mogą znacznie uprościć procedurę wyszukiwania.

Zobacz także: Szukasz plików w Linuksie

Prace przygotowawcze

Wszystkie dalsze działania będą wykonywane za pomocą standardowej konsoli, a także umożliwiają otwieranie plików tylko poprzez określenie pełnej ścieżki do nich lub jeśli Terminal jest uruchamiany z wymaganego katalogu. Możesz znaleźć folder nadrzędny pliku i przejść do niego w konsoli w następujący sposób:

  1. Uruchom menedżera plików i przejdź do żądanego folderu.
  2. Otwieranie Linux File Manager

  3. Kliknij prawym przyciskiem myszy żądany plik i wybierz „Właściwości” .
  4. Przełącz na właściwości folderów w systemie operacyjnym Linux

  5. Na karcie „Podstawowe” przeczytaj wiersz „Folder nadrzędny” .
  6. Znajdź folder nadrzędny pliku w systemie operacyjnym Linux

  7. Teraz uruchom „Terminal” za pomocą wygodnej metody, na przykład poprzez menu lub naciskając kombinację klawiszy Ctrl + Alt + T.
  8. Uruchom terminal do dalszej pracy w systemie Linux

  9. Przejdź do katalogu za pomocą polecenia cd /home/user/folder , gdzie użytkownik jest nazwą użytkownika, a folder to nazwa folderu.
  10. Przejdź do określonego folderu przez terminal w systemie Linux

Użyj polecenia cat + название файла jeśli chcesz wyświetlić pełną zawartość. Szczegółowe instrukcje dotyczące pracy z tym zespołem można znaleźć w naszym innym artykule pod poniższym linkiem.

Używanie komendy cat na terminalu Linux

Więcej szczegółów: Przykłady komend dla Linuksa

Dzięki powyższym krokom możesz użyć grep , będąc we właściwym katalogu, bez określania pełnej ścieżki do pliku.

Standardowe wyszukiwanie treści

Zanim przejdziemy do rozważenia wszystkich dostępnych argumentów, należy zwrócić uwagę na zwykłe wyszukiwanie według zawartości. Będzie to przydatne w tych momentach, kiedy trzeba znaleźć proste dopasowanie według wartości i wyświetlić wszystkie odpowiednie linie.

  1. W wierszu polecenia wprowadź grep word testfile , gdzie słowo jest informacją, której szukasz, a testfile jest nazwą pliku. Podczas wyszukiwania poza folderem określ pełną ścieżkę jako w /home/user/folder/filename . Po wprowadzeniu polecenia naciśnij klawisz Enter .
  2. Normalne wyszukiwanie za pomocą polecenia grep w systemie Linux

  3. Pozostaje tylko zapoznać się z dostępnymi opcjami. Pełne linie są wyświetlane na ekranie, a wartości klawiszy są podświetlone na czerwono.
  4. Wyświetlanie normalnych wyników wyszukiwania za pomocą polecenia grep w systemie Linux

  5. Ważne jest, aby wziąć pod uwagę przypadek liter, ponieważ kodowanie Linuksa nie jest zoptymalizowane do wyszukiwania bez uwzględnienia dużych lub małych znaków. Jeśli chcesz pominąć definicję przypadku, wpisz grep -i "word" testfile .
  6. Wyszukaj plik bez rozróżniania wielkości liter w systemie Linux

  7. Jak widać, na następnym zrzucie wynik się zmienił i dodano jeszcze jedną nową linię.
  8. Wyświetlanie znalezionych słów w przypadku braku przypadku w systemie Linux

Szukaj z przechwytywaniem ciągu

Czasami użytkownicy muszą znaleźć nie tylko dokładne dopasowanie w wierszach, ale także znaleźć informacje, które pojawiają się po nich, na przykład podczas zgłaszania określonego błędu. Wtedy właściwym rozwiązaniem jest zastosowanie atrybutów. Wpisz grep -A3 "word" testfile w konsoli, aby uwzględnić następujące trzy linie w wyniku po meczu. Możesz napisać -A4 , wtedy zostaną przechwycone cztery linie, nie ma żadnych ograniczeń.

Wyświetl liczbę wierszy po słowie kluczowym w systemie Linux

Jeśli zamiast -A używasz argumentu -B + количество строк , wynikiem są dane, które są do punktu wejścia.

Wyświetl liczbę linii przed słowem kluczowym w systemie Linux

Argument z kolei przechwytuje linie wokół słowa kluczowego.

Wyświetl otaczające ciągi słów kluczowych w systemie Linux

Poniżej możesz zobaczyć przykłady przypisania określonych argumentów. Pamiętaj, że musisz wziąć pod uwagę sprawę i umieścić podwójne cudzysłowy.

grep -B3 "word" testfile
grep -C3 "word" testfile

Wyszukaj słowa kluczowe na początku i na końcu linii

Konieczność zdefiniowania słowa kluczowego, które jest na początku lub na końcu linii, najczęściej występuje podczas pracy z plikami konfiguracyjnymi, gdzie każda linia odpowiada za jeden parametr. Aby zobaczyć dokładny wpis na początku, musisz zarejestrować grep "^word" testfile . Znak ^ jest odpowiedzialny za użycie tej opcji.

Wyszukaj słowo kluczowe na początku linii Linux

Wyszukiwanie treści na końcu linii odbywa się mniej więcej w ten sam sposób, tylko w cudzysłowach należy dodać znak $ , a polecenie będzie wyglądało tak: grep "word$" testfile .

Szukaj według słowa kluczowego na końcu linii Linux

Wyszukaj liczby

Podczas wyszukiwania żądanych wartości użytkownik nie zawsze ma informacje dotyczące dokładnego słowa występującego w ciągu. Następnie można przeprowadzić procedurę wyszukiwania za pomocą liczb, co czasami znacznie upraszcza zadanie. Konieczne jest tylko użycie polecenia w postaci grep "[0-7]" testfile , gdzie „[0-7]” to zakres wartości, a testfile to nazwa skanowanego pliku.

Wyszukaj zakres liczbowy w systemie Linux

Analiza wszystkich plików katalogu

Skanowanie wszystkich obiektów w tym samym folderze nazywa się rekurencyjnym. Użytkownik musi zastosować tylko jeden argument, który analizuje wszystkie pliki w folderze i wyświetla odpowiednie linie i ich lokalizację. Musisz wpisać grep -r "word" /home/user/folder , gdzie / home / user / folder jest ścieżką do katalogu do skanowania.

Wyszukiwanie rekurencyjne za pomocą polecenia grep w systemie Linux

Niebieski wyświetli lokalizację przechowywania plików, a jeśli chcesz pobrać linie bez tych informacji, przypisz inny argument, aby polecenie otrzymało tę grep -h -r "word" + путь к папке .

Wyszukiwanie rekurencyjne bez wyświetlania ścieżki pliku w systemie Linux

Dokładne wyszukiwanie słów

Na początku artykułu mówiliśmy już o zwykłym wyszukiwaniu słów. Jednak w tej metodzie dodatkowe wyniki będą wyświetlane w wynikach. Na przykład znajdziesz słowo Użytkownik , ale polecenie wyświetli również Użytkownika 123 , Użytkownika hasła i inne dopasowania, jeśli istnieją. Aby uniknąć tego wyniku, przypisz argument -w ( grep -w "word" + имя файла или его расположение ).

Wyświetl tylko dokładne wpisy w systemie Linux.

Ta opcja jest również wykonywana, gdy trzeba wyszukać kilka dokładnych słów kluczowych jednocześnie. W takim przypadku wpisz egrep -w 'word1|word2' testifile . Należy pamiętać, że w tym przypadku litera e jest dodawana do grep , a pojedyncze cudzysłowy są wstawiane.

Wyświetl kilka dokładnych wpisów w systemie Linux

Wyszukaj ciągi bez określonego słowa.

Rozważane narzędzie jest w stanie nie tylko znaleźć słowa w plikach, ale także wyświetlić linie, w których nie ma wartości określonej przez użytkownika. Następnie przed wprowadzeniem wartości klucza i pliku dodaje się -v . Dzięki niej po aktywacji polecenia zobaczysz tylko odpowiednie dane.

Znajdź ciągi znaków bez określonego słowa w systemie Linux

Składnia grep zebrała kilka dodatkowych argumentów, które można krótko wyjaśnić:

  • -I - wyświetla tylko nazwy plików, które spełniają kryteria wyszukiwania;
  • -s - wyłącza powiadomienia o znalezionych błędach;
  • -n - wyświetla numer wiersza w pliku;
  • -b - pokazuje numer bloku przed linią.

Nic nie stoi na przeszkodzie, aby użyć wielu argumentów dla jednego znalezienia, wystarczy wpisać je oddzielone spacją, nie zapominając o uwzględnieniu sprawy.

Dzisiaj dokładnie zdemontowaliśmy polecenie grep , dostępne w dystrybucjach Linuksa. Jest jednym ze standardowych i często używanych. Możesz przeczytać o innych popularnych narzędziach i ich składni w naszym oddzielnym materiale pod następującym linkiem.

Zobacz także: Często używane polecenia w terminalu Linux