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.
Wszystkie niezbędne polecenia do nauki poleceń Linuksa z wiersza poleceń
Czytaj dalej
- Linux
- Linux
- Polecenia Linuksa

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.
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.