====== Grep ====== El comando **grep** es un [[filtros|filtro]] de [[Unix]] se utiliza para realizar búsquedas de cadenas de texto. ==== Historia ==== Grep fue desarrollado para la [[versiones de unix#unix cuarta edición|Cuarta Edición del Unix de Investigación]]. a mediados de 1973 por Ken Thompson utilizando el lenguaje Macro-11, el ensamblador de la [[pdp#pdp-11|PDP-11]]. Utilizó como base un mismo código de programación presente en el editor de líneas [[ed]], el cual se encargaba de buscar globalmente una expresión regular y presentar las líneas que correspondían a la coincidencia. Su nombre en sí 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 básico ==== Podrías 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 === Búsquedas comunes === Grep contienen muchas variables que lo hacen muy potente. Alguna de las más utilizadas son: Búsqueda insensible de mayúsculas: grep -i cadena fichero.txt Muestra n líneas __después__ de la cadena de búsqueda: grep -A n cadena fichero.txt Muestra n líneas __antes__ de la cadena de búsqueda: grep -B n cadena fichero.txt Muestra n líneas antes y después de la cadena de búsqueda: grep -C n cadena fichero.txt Muestra las líneas que no coinciden con la cadena de búsqueda: grep -v cadena fichero.txt Contea las instancias de la cadena buscada: grep -c cadena fichero.txt Muestra únicamente los nombres de fichero que contienen la cadena de búsqueda: grep -l cadena fichero.txt Muestra exactamente la cadena especificada: grep -W cadena fichero.txt Presenta la [[expresiones regulares|expresión regular]] específica: grep -e regex fichero Busca una cadena en un fichero binario: grep -a cadena fichero Busca recursivamente en un directorio: grep -r cadena fichero