Linux fornisce grep
per il filtraggio del testo. Ma in alcune situazioni potremmo aver bisogno di uno strumento più esteso per abbinare un dato modello in un dato file di testo. Questo strumento è chiamato Extended Global Regular Expression Print
o semplicemente egrep
. egrep
fornisce caratteristiche estese rispetto al normale strumento grep
.
Sintassi del comando egrep
è come sotto.
egrep FLAG REGEX FILE
- `FLAG` è usato per cambiare alcuni comportamenti del comando `egrep`.
- `REGEX` è il modello che vogliamo cercare in formato regex.
- `FILE` è il nome del file in cui cercheremo
Ricerca normale
Possiamo usare egrep
per cercare testo normale senza fornire espressioni regolari. Abbiamo solo bisogno di fornire il termine che vogliamo cercare. In questo esempio cercheremo ismail
nel file chiamato /etc/passwd
.
$ egrep ismail /etc/passwd
Ricerca linee contenenti caratteri numerici
Possiamo specificare i caratteri numerici usando che significa uno dei valori numerici da 0 a 9.
$ egrep ''/etc/passwd
Match Lines Contains Alphabet Characters
Possiamo anche specificare caratteri alfabetici con per caratteri minuscoli e
per caratteri maiuscoli. In questo esempio cercheremo i caratteri maiuscoli.
$ egrep ''/etc/passwd
Match All Lines Starting with Alphabet
Possiamo cercare l’inizio delle linee con il segno ^
. In questo esempio cercheremo tutte le linee che iniziano con il carattere alfa.
$ egrep '^' myinput.py
Match All Lines Ending with Numeric
Possiamo specificare la fine della linea con il segno $
. Il seguente comando elencherà tutte le linee che terminano con un carattere numerico.
$ egrep '$' myinput.py
Match Caseinsenstive
egrep
è case senstive per default. Case sensitive significa che i caratteri maiuscoli e minuscoli saranno diversi come A
è diverso da a
. Possiamo rendere il nostro match caseinsensitive se vogliamo con l’opzione -i
come flag. Il seguente esempio corrisponderà a tutte le seguenti parole
- IsmaiL
- ismAIL
- ISMAIL
$ egrep -i 'ismail' myinput.py