Grep

El comando grep es un filtro de Unix se utiliza para realizar busquedas de cadenas de texto.

Historia

Grep fue desarrollado para la Cuarta Edicion del Unix de Investigacion. a mediados de 1973 por Ken Thompson utilizando el lenguaje Macro-11, el ensamblador de la PDP-11. Utilizo como base un mismo codigo de programacion presente en el editor de lineas ed, el cual se encargaba de buscar globalmente una expresion regular y presentar las lineas que correspondian a la coincidencia.

Su nombre en si mismo una RegEx: g/re/p (globally search for a regular expression and print matching lines) es la herramienta para filtrado de texto por excelencia en entornos Unix/Linux.

El Diccionario Oxford tiene una entrada de grep como verbo, debido a esto es posible decir "I'm going to grep my files".

Uso basico

Podrias usarlo para buscar todas las existencias de la cadena de texto gaucho en el fichero martinfierro.txt del directorio, de la siguiente manera:

grep gaucho martinfierro.txt

Busquedas comunes

Grep contienen muchas variables que lo hacen muy potente. Alguna de las mas utilizadas son:

Busqueda insensible de mayusculas:

grep -i cadena fichero.txt

Muestra n lineas despues de la cadena de busqueda:

grep -A n cadena fichero.txt

Muestra n lineas antes de la cadena de busqueda:

grep -B n cadena fichero.txt

Muestra n lineas antes y despues de la cadena de busqueda:

grep -C n cadena fichero.txt

Muestra las lineas que no coinciden con la cadena de busqueda:

grep -v cadena fichero.txt

Contea las instancias de la cadena buscada:

grep -c cadena fichero.txt

Muestra unicamente los nombres de fichero que contienen la cadena de busqueda:

grep -l cadena fichero.txt

Muestra exactamente la cadena especificada:

grep -W cadena fichero.txt

Presenta la expresion regular especifica:

grep -e regex fichero

Busca una cadena en un fichero binario:

grep -a cadena fichero

Busca recursivamente en un directorio:

grep -r cadena fichero