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