Linux proporciona grep
para el filtrado de texto. Pero en algunas situaciones podemos necesitar una herramienta más extendida para hacer coincidir un patrón dado en archivos de texto dados. Esta herramienta se llama Extended Global Regular Expression Print
o simplemente egrep
. egrep
proporciona características extendidas sobre la herramienta regular grep
.
La sintaxis del comando egrep
es como la siguiente.
egrep FLAG REGEX FILE
- `FLAG` se utiliza para cambiar algunos comportamientos del comando `egrep`.
- `REGEX` es el patrón que queremos buscar en formato regex.
- `FILE` es el nombre del fichero en el que buscaremos
Buscar normalmente
Podemos usar egrep
para buscar texto normal sin proporcionar una expresión regular. Sólo tenemos que proporcionar el término que queremos buscar. En este ejemplo buscaremos ismail
en el archivo llamado /etc/passwd
.
$ egrep ismail /etc/passwd
Comparar líneas que contengan caracteres numéricos
Podemos especificar caracteres numéricos utilizando que significa uno de los valores numéricos del 0 al 9.
$ egrep ''/etc/passwd
Las líneas coincidentes contienen caracteres alfabéticos
También podemos especificar caracteres alfabéticos con para caracteres minúsculos y
para caracteres mayúsculos. En este ejemplo buscaremos caracteres en mayúsculas.
$ egrep ''/etc/passwd
Match All Lines Starting with Alphabet
Podemos buscar el inicio de las líneas con el signo ^
. En este ejemplo, buscaremos todas las líneas que comiencen con un carácter alfabético.
$ egrep '^' myinput.py
Match All Lines Ending with Numeric
Podemos especificar el final de la línea con el signo $
. El siguiente comando listará todas las líneas que terminen con un carácter numérico.
$ egrep '$' myinput.py
Match Caseinsenstive
egrep
es sensible a mayúsculas y minúsculas por defecto. Sensible a las mayúsculas significa que los caracteres en mayúsculas y minúsculas serán diferentes como A
es diferente de a
. Podemos hacer que nuestra coincidencia distinga entre mayúsculas y minúsculas si queremos con la opción -i
como bandera. El siguiente ejemplo coincidirá con las siguientes palabras
- IsmaiL
- ismAIL
- ISMAIL
$ egrep -i 'ismail' myinput.py