Usar grep para buscar texto dentro de archivos

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

Suscribete GRATIS!
Recibe las novedades de Paraiso Linux en tu email

About perro

Casi Ingeniero en Informática. Programador en PHP y KumbiaPHP. Lo que mas adoro en el mundo es el conocimiento. Y el anime....y Japon...y el basketball...y bloguear claro. Aun sigo buscando la manera de hacer mi primer millon :)
Categorias Tutoriales
Tags , , .
  • eVeR

    muy bueno! Es uno de los comandos mas poderosos de los UNIX que normalmente estamos subestimando. Gracias por la data

    • http://blogjapon.com.ar perro

      gracias a ti por comentar :)

  • Pingback: Lo mejor de la semana 19/2010 | Los ojos de Tux

  • Cristian

    Si me ayudaste mucho. Pero tengo duda en algo ¿si quiero en una misma linea buscar dos patrones distintos y luego poner otro patron del q se deben buscar las no coincidencias. Me explico serian tres patrones distintos pero del ultimo se buscan las no coincidenicas pero todo va en unas misma linea de comando, cómo lo hago? Millon Gracias si me ayudan.

    • http://blogjapon.com.ar perro

      Muy dificil para mi…me mareo de solo pensar lo que me pides :-?

  • http://personalvintage.com.ar Cecilia

    Lo que no entiendo es donde pongo el comando ‘grep’. Yo estoy utilizando el HTMLKit para mis páginas web y FilleZilla para FTP y quiero buscar una palabra en todas las paginas, …y son miles!
    como hago?
    Graciass

  • Alejandro

    Mañana dia 8 de febrero tengo un examen y esto me caia jeje PORFIN LO COMPRENDO! Dios!

    GRACIAS ;)

    • http://blogjapon.com.ar perro

      No problem :)

  • Pingback: Grep « Mundo 3W

  • Pingback: 10 usos para grep | Paraiso Linux

  • aj.com

    Me gustaria agregar un ejemplo que ademas de hacer una busqueda de palabras en archivo las podemos numerar:

    grep -i -r -H -e “word1″ -e “word2″ File.log | wc -l

    Si se fijan en este ejemplo con no hacemos distincion entre mayusculas y minusculas, ademas al finl el pipe y wc -l indican que se numeren cada una de las lineas que coincidan con la busqueda.

  • Devaray

    espectacular