martes, 12 de abril de 2011

Buscar archivos con grep

Grep es uno de los camandos mas utiles que conozco. Al menos a mi como programador me sirve mucho. Tambien lo uso cuando voy a editar themes de wordpress. El uso mas basico que se le puede dar es buscar texto dentro de uno o mas archivos. Ej: quiero buscar la palabra “perro” dentro de todos los archivos txt que tengo en un directorio. Haria algo asi:

grep “perro” /home/miusuario/documentos/*.txt

Pero por lo general cuando lo uso me interesa mas hacer busquedas recursivas. O sea no solo buscar en ese directorio sino en todos los directorios dentro de un directorio. Ademas no busco solo en archivos txt sino que por le general me interesa la busqueda en todo tipo de archivos. Entonces haria algo asi:

grep -r “perro” /home/miusuario/documentos/

Otra opcion es buscar varias cadenas. Ej: quiero saber en donde estan las lineas que dicen “perro” y “gato”, seria asi:

grep -r -e “perro” -e “gato” /home/miusuario/documentos/

Algunas otras opciones interesantes son:

-c En lugar de imprimir las líneas que coinciden, muestra el número de líneas que coinciden.
-e PATRON nos permite especificar varios patrones de búsqueda o proteger aquellos patrones de búsqueda que comienzan con el signo -.
-r busca recursivamente dentro de todos los subdirectorios del directorio actual.
-v nos muestra las líneas que no coinciden con el patrón buscado.
-i ignora la distinción entre mayúsculas y minúsculas.
-n Numera las líneas en la salida.
-E nos permite usar expresiones regulares. Equivalente a usar egrep.
-o le indica a grep que nos muestre sólo la parte de la línea que coincide con el patrón.
-f ARCHIVO extrae los patrones del archivo que especifiquemos. Los patrones del archivo deben ir uno por línea.
-H nos imprime el nombre del archivo con cada coincidencia.
-w fuerza la busqueda a coincidir con la palabra exacta

Espero que les sea util Usar grep para buscar texto dentro de archivos

No hay comentarios:

Publicar un comentario