Rubaiat Hossain
E-mail

Polecenie grep służy do wyszukiwania ciągów znaków w pliku tekstowym. Oto dziesięć przykładów grepa, które mogą okazać się pomocne.

Polecenie grep zapewnia dostęp do narzędzia grep, potężnego narzędzia do przetwarzania plików używanego do znajdowania wzorców w plikach tekstowych. Ma wiele praktycznych przypadków użycia i jest z pewnością jednym z najczęściej używanych poleceń Linuksa. Ten przewodnik ilustruje kilka prostych, ale przydatnych poleceń grep w systemie Linux, które mają zastosowania w świecie rzeczywistym.

Przykładowy plik do demonstracji

Stworzyliśmy plik referencyjny, aby pomóc czytelnikom lepiej zrozumieć grep. Możesz utworzyć kopię tego pliku, wydając następujące polecenie powłoki w swoim terminalu.

kot <> plik-testowy
To jest prosty plik tekstowy zawierający
wiele ciągów, a także niektóre numery telefonów
(555) 555-1234 (567) 666-2345
oraz adresy e-mail i adresy internetowe
[email protected]
https://google.com
ftp://mywebserver.com
KONIEC

1. Znajdź tekst w plikach

Aby wyszukać wzorzec tekstowy w pliku, po prostu uruchom grep, a po nim nazwę wzorca. Określ również nazwę pliku zawierającego tekst.

grep "email" plik testowy

To polecenie wyświetli wiersz w naszym plik testowy który zawiera słowo e-mail. Możesz również wyszukiwać ten sam tekst w wielu plikach za pomocą grep.

grep "example" / usr / share / dict / american-english / usr / share / dict / british-english

Powyższe polecenie wyświetla wszystkie wystąpienia słowa przykład w amerykański angielski i Brytyjski Angielski pliki słowników.

2. Znajdź dokładne pasujące słowa

Polecenie grep systemu Linux zilustrowane we wcześniejszym przykładzie wyświetla również listę wierszy z częściowymi dopasowaniami. Użyj poniższego polecenia, jeśli potrzebujesz tylko dokładnych wystąpień słowa.

grep -w "string" plik-testowy

Plik -w lub --word-regexp opcja grep ogranicza wynik tylko do dokładnych dopasowań. Grep składa się z kilku dodatkowych flag, których można używać również z domyślnym poleceniem.

Związane z: Skąd Grep ma swoją nazwę? Historia stworzenia Grepa

3. Ignoruj ​​rozróżnienia wielkości liter

Domyślnie grep wyszukuje wzorce z uwzględnieniem wielkości liter. Możesz jednak chcieć to wyłączyć, jeśli nie wiesz, w jakim przypadku wzór jest wcześniej.

grep -i "ten" plik-testowy

Użyj -ja lub --ignore-case opcja wyłączania rozróżniania wielkości liter.

4. Policz liczbę wzorów

Plik -do flaga oznacza liczyć. Wyświetla liczbę dopasowań znalezionych dla określonego wzorca. Administratorzy mogą to wykorzystać do pobierania określonych informacji o systemie.

Możesz fajować polecenie ps z grep, aby policzyć procesy należące do bieżącego użytkownika.

ps -ef | grep -c $ UŻYTKOWNIK

Poniższe polecenie wyświetla liczbę plików MP3 pliki obecne w katalogu.

ls ~ / Music | grep -c .mp3

5. Wyświetl numery wierszy zawierające dopasowania

Możesz chcieć znaleźć numery wierszy, które zawierają określone dopasowanie. Użyj -n lub --numer linii opcja grep, aby to osiągnąć.

cat / etc / passwd | grep -n rubaiat

Ta opcja jest szczególnie przydatna w przypadku debugowanie kodów źródłowych i rozwiązywanie problemów z plikami dziennika. Aby wyświetlić wszystkie liczby dla wierszy w ~ / .vimrc które są używane do konfigurowanie edytora tekstu Vima:

grep -n "set" ~ / .vimrc

6. Znajdź nazwy plików za pomocą rozszerzeń

Aby uzyskać listę wszystkich plików MP3 pliki obecne w ~ / Music informator:

ls ~ / Music / | grep „.mp3”

Możesz wymienić .mp3 z dowolnymi innymi rozszerzeniami do lokalizowania określonych plików. Następujące polecenie wyświetla listę wszystkich plików php pliki obecne w bieżącym katalogu roboczym.

ls | grep „.php”

7. Znajdź wzorce w skompresowanych plikach

Polecenie grep w systemie Linux może również znaleźć wzorce w skompresowanych plikach. Będziesz musiał użyć zgrep polecenia do zrobienia tego jednak. Najpierw utwórz skompresowane archiwum naszego plik testowy wpisując:

gzip plik-testowy

Teraz możesz wyszukiwać tekst lub inne wzorce w wynikowym archiwum.

zgrep email test-file.gz

8. Znajdź adresy e-mail

Administratorzy mogą również wyświetlać adresy e-mail z plików tekstowych za pomocą polecenia grep w systemie Linux. Poniższy przykład robi to, wyszukując wzorzec wyrażenia regularnego.

grep '^ [a-zA-Z0-9] \ + @ [a-zA-Z0-9] \ + \. [a-z] \ {2, \}' test-file

Możesz znaleźć wyrażenia regularne do wykonywania podobnych zadań lub możesz je utworzyć samodzielnie, jeśli wiesz, jak działają.

9. Znajdź numery telefonów za pomocą Grep

Możesz użyć wyrażeń regularnych grep do odfiltrowania numerów telefonów z pliku tekstowego. Pamiętaj, że musisz dostosować wzór, aby pasował do typu potrzebnych numerów telefonów.

grep '\ (([0-9] \ {3 \}) \ | [0-9] \ {3 \} \) [-] \? [0-9] \ {3 \} [-] \? [0-9] \ {4 \} 'plik-testowy

Wspomniane polecenie odfiltrowuje dziesięciocyfrowe amerykańskie numery telefonów.

10. Znajdź adresy URL z plików źródłowych

Możemy wykorzystać moc grep do wyświetlania adresów URL znalezionych w plikach tekstowych. Poniższe polecenie wyświetla wszystkie adresy URL obecne w pliku plik testowy.

grep -E "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4}) "plik-testowy

Ponownie używamy -MI opcja dla rozszerzonych wyrażeń regularnych. Możesz także użyć egrep polecenie, aby uniknąć dodawania tego.

egrep "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4})" test -plik

Opanowanie polecenia Linux Grep

Przedstawiliśmy kilka użytecznych przykładów polecenia grep w systemie Linux do rozwiązywania problemów w świecie rzeczywistym. Chociaż te przykłady ilustrują moc grep w przetwarzaniu tekstu, musisz opanować wyrażenia regularne, jeśli chcesz być bardzo produktywny z grep.

Czasami użytkownicy Linuksa wpadają w pewne sytuacje, w których nie pamiętają różnych opcji związanych z poleceniem. Miejmy nadzieję, że system operacyjny Linux zapewnia sposoby uzyskania pomocy wiersza polecenia dla prawie każdego narzędzia systemowego.

E-mail
7 sposobów uzyskania pomocy wiersza poleceń w systemie Linux

Wszystkie niezbędne polecenia do nauki poleceń Linuksa z wiersza poleceń

Czytaj dalej

Powiązane tematy
  • Linux
  • Linux
  • Polecenia Linuksa
O autorze
Rubaiat Hossain (15 opublikowanych artykułów)

Rubaiat to absolwent CS z wielką pasją do oprogramowania open source. Oprócz bycia weteranem Uniksa zajmuje się również bezpieczeństwem sieci, kryptografią i programowaniem funkcjonalnym. Jest zapalonym kolekcjonerem książek z drugiej ręki i niekończącym się podziwem dla klasycznego rocka.

Więcej od dostawcy Rubaiat Hossain

Zapisz się do naszego newslettera

Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Jeszcze jeden krok…!

Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.

.