05.18Buscar cadena de texto en todos los archivos de linux
Muchas veces queremos buscar una cadena dentro de todos los ficheros del sistema en linux, pues bien, aquí teneis la instrucción necesaria para hacerlo desde consola:
find “ruta” -type f | xargs grep “cadena a buscar”
Con find (y la opción usada) se buscan archivos en el directorio especificado (usar . para el directorio actual), el comando xargs combina cada elemento con el comando especificado y grep busca patrones en el archivo.
Fuente: LinuxData
Gracias a los lectores del Blog podemos añadir las siguientes formas de buscar la cadena:
find “ruta” -type f -exec grep “cadena a buscar” {} \;
find [path] -exec grep -H [cadena] {} \; 2> /dev/null
Este último redirecciona la salida de errores a null por si no tenemos permisos o da algún error.


Buscar cadena de texto en todos los archivos de linux | Pingüinos Y Cia…
Indica el comando necesario para buscar en una lista de ficheros una cadena específica…
mayo 18th, 2009 at 11:35 am
Creo que se obtiene un resultado similar con
$ find "ruta" -type f -exec grep "cadena a buscar" {} \;
mayo 27th, 2009 at 7:50 am
Yo uso lo que dice @petrohs pero además al grep le añado el atributo -H para que me muestre la ruta entera al fichero y no uso -type f ya que aunque hagas un grep sobre un directorio no vas a tener problemas.
Además cuando me da muchos mensajes de error (por no tener permisos) lo que hago es redireccionar stderr a null, en definitiva:
find [path] -exec grep -H [cadena] {} \; 2> /dev/null
mayo 27th, 2009 at 8:37 am
Gracias por el apunte chicos! está añadido al post
mayo 27th, 2009 at 8:54 am