Linux dostarcza grepdo filtrowania tekstu. Ale w niektórych sytuacjach możemy potrzebować bardziej rozszerzonego narzędzia do dopasowania danego wzorca w danych plikach tekstowych. To narzędzie nazywa się Extended Global Regular Expression Print lub po prostu egrep . egrep zapewnia rozszerzone funkcje w stosunku do zwykłego narzędzia grep.
Syntaktyka polecenia egrep jest jak poniżej.
egrep FLAG REGEX FILE
- `FLAG` jest używana do zmiany niektórych właściwości polecenia `egrep`.
- `REGEX` jest wzorem, który chcemy wyszukać w formacie regex.
- `FILE` jest nazwą pliku, w którym będziemy szukać
Szukaj normalnie
Możemy użyć egrep do przeszukiwania normalnego tekstu bez podawania wyrażenia regularnego. Wystarczy, że podamy termin, który chcemy wyszukać. W tym przykładzie będziemy wyszukiwać ismail w pliku o nazwie /etc/passwd .
$ egrep ismail /etc/passwd

Dopasuj linie zawierające znaki numeryczne
Znaki numeryczne możemy określić za pomocą , co oznacza jedną z wartości numerycznych od 0 do 9.
$ egrep ''/etc/passwd
Match Lines Contains Alphabet Characters
Możemy również określić znaki alfabetu za pomocą dla małych liter i dla dużych liter. W tym przykładzie zostaną dopasowane wielkie litery.
$ egrep ''/etc/passwd

Match All Lines Starting with Alphabet
Możemy dopasować początek linii za pomocą znaku ^. W tym przykładzie zostaną wyszukane wszystkie linie, które zaczynają się od znaku alfa.
$ egrep '^' myinput.py

Match All Lines Ending with Numeric
Możemy określić koniec linii za pomocą znaku $. Poniższe polecenie wyświetli listę wszystkich linii, które kończą się znakiem numerycznym.
$ egrep '$' myinput.py
Match Caseinsenstive
egrepDomyślnie wielkość liter ma znaczenie. Rozróżnianie wielkości liter oznacza, że duże i małe litery będą się różnić jak A jest inne niż a. Możemy uczynić nasze dopasowanie niewrażliwym na wielkość liter, jeśli chcemy, używając opcji -i jako flagi. Poniższy przykład dopasuje wszystkie z następujących słów
- IsmaiL
- ismAIL
- ISMAIL
$ egrep -i 'ismail' myinput.py
.