Polecenie grep zapewnia dostęp do narzędzia grep, potężnego narzędzia do przetwarzania plików używanego do wyszukiwania wzorców w plikach tekstowych. Ma wiele praktycznych zastosowań i jest z pewnością jednym z najczęściej używanych poleceń Linuksa. Ten przewodnik ilustruje kilka prostych, ale użytecznych poleceń grep Linuksa, które mają zastosowanie w świecie rzeczywistym.
Przykładowy plik do demonstracji
Stworzyliśmy plik referencyjny, aby pomóc czytelnikom skuteczniej zrozumieć grep. Możesz utworzyć kopię tego pliku, wydając w terminalu następujące polecenie powłoki.
podłączony, ale brak okien internetowych 10
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END
1. Znajdź tekst w plikach
Aby wyszukać wzorzec tekstowy w pliku, po prostu uruchom grep, a następnie nazwę wzorca. Określ również nazwę pliku zawierającego tekst.
grep 'email' test-file
To polecenie wyświetli linię w naszym plik-testowy który zawiera słowo e-mail . Możesz także 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 oraz Brytyjski Angielski pliki słownika.
2. Znajdź dokładne pasujące słowa
Polecenie grep systemu Linux przedstawione we wcześniejszym przykładzie wyświetla również wiersze z częściowymi dopasowaniami. Użyj poniższego polecenia, jeśli potrzebujesz tylko dokładnych wystąpień słowa.
grep -w 'string' test-file
ten -w lub --słowo-wyrażenie regularne opcja grep ogranicza dane wyjściowe tylko do dokładnych dopasowań. Grep składa się z kilku dodatkowych flag, których można również użyć z domyślnym poleceniem.
Powiązane: Jak Grep ma swoją nazwę? Historia stworzenia Grepa
3. Ignoruj rozróżnienia przypadków
Domyślnie grep wyszukuje wzorce z rozróżnianiem wielkości liter. Jednak możesz chcieć to wyłączyć, jeśli nie wiesz, w jakim przypadku jest wcześniejszy wzór.
grep -i 'this' test-file
Użyj -i lub --ignoruj-przypadek opcja wyłączenia czułości na wielkość liter.
4. Policz liczbę wzorów
ten -C flaga oznacza liczyć . Wyświetla liczbę dopasowań, które zostały znalezione dla określonego wzorca. Administratorzy mogą używać tego do pobierania określonych informacji o systemie.
Możesz fajkować polecenie ps z grep do zliczania procesów należących do bieżącego użytkownika.
ps -ef | grep -c $USER
Następujące polecenie wyświetla liczbę MP3 pliki obecne w katalogu.
ls ~/Music | grep -c .mp3
5. Wyświetl numery linii zawierające dopasowania
Możesz chcieć znaleźć numery linii, 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 do debugowania kodów źródłowych i rozwiązywania problemów z plikami dziennika. Aby wyświetlić wszystkie liczby dla linii w ~/.vimrc które są używane do konfiguracji edytora tekstu Vima:
grep -n 'set' ~/.vimrc
6. Znajdź nazwy plików za pomocą rozszerzeń
Aby uzyskać listę wszystkich MP3 pliki obecne w ~/Muzyka informator:
ls ~/Music/ | grep '.mp3'
Możesz wymienić .mp3 z dowolnymi innymi rozszerzeniami do lokalizowania określonych plików. Poniższe polecenie zawiera listę wszystkich php pliki obecne w bieżącym katalogu roboczym.
jaką mam wersję Ubuntu?
ls | grep '.php'
7. Znajdź wzorce w skompresowanych plikach
Linuksowe polecenie grep może również znaleźć wzorce w skompresowanych plikach. Będziesz musiał użyć zgrep do tego jednak polecenie. Najpierw utwórz skompresowane archiwum naszych plik-testowy wpisując:
gzip test-file
Teraz możesz wyszukiwać tekst lub inne wzorce w powstałym 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 systemu 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 filtrowania numerów telefonów z pliku tekstowego. Pamiętaj, że musisz dostosować wzór, aby pasował do rodzaju potrzebnych numerów telefonów.
grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file
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. Podane poniżej polecenie wyświetla wszystkie adresy URL obecne w plik-testowy .
grep -E '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file
Znowu używamy -ORAZ 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-file
Opanowanie polecenia Linux Grep
Przedstawiliśmy kilka przydatnych przykładów polecenia grep Linuksa do rozwiązywania rzeczywistych problemów. Chociaż te przykłady ilustrują moc grep w przetwarzaniu tekstu, musisz opanować wyrażenia regularne, jeśli chcesz być super produktywny z grep.
Czasami użytkownicy Linuksa wpadają w pewne sytuacje, w których nie pamiętają różnych opcji związanych z poleceniem. Mamy nadzieję, że system operacyjny Linux zapewnia sposoby uzyskania pomocy wiersza poleceń dla prawie każdego narzędzia systemowego.
Udział Udział Ćwierkać E-mail 7 sposobów na uzyskanie pomocy wiersza poleceń w systemie LinuxWszystkie niezbędne polecenia do nauki o poleceniach systemu Linux z wiersza poleceń
Czytaj dalej Powiązane tematy- Linux
- Linux
- Polecenia Linuksa
Rubaiat jest absolwentem CS z silną pasją do open-source. Oprócz tego, że jest weteranem systemu Unix, zajmuje się także bezpieczeństwem sieci, kryptografią i programowaniem funkcjonalnym. Jest zapalonym kolekcjonerem książek z drugiej ręki i ma nieustanny podziw dla klasycznego rocka.
Więcej od Rubaiata HossainaZapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
jak przeglądać pliki .datKliknij tutaj, aby zasubskrybować