Hoy vamos a ver un procedimiento muy útil a la hora de buscar archivos en Linux, en realidad vamos a buscar una cadena de caracteres dentro de los archivos, vamos a combinar varias herramientas find, xorgs y grep.

La sentencia será la siguiente:

find /ruta_de_búsqueda/ -name * | xargs grep "texto a buscar"

Y en mi ejemplo voy a buscar el texto nksistemas.com

find /root -name * | xargs grep "nksistemas.com"

Como podemos ver, va a buscar dentro de los archivos que se encuentren en la ruta especificada, la cadena nksistemas.com y va a mostrar el resultado, intentemos entender que es lo que pasa con el comando lanzado.

  1. find realiza una lista de los ficheros de la ruta especificada. En este caso estamos buscando en todos los archivos por lo que mostrar todos, pero si queremos buscar solo archivos de cierta extensión, cambiamos el signo (*), por ejemplo *.txt.
  2. | (Pipe) pasa la salida del comando anterior al siguiente.
  3. xargs toma la lista que resulta de find y la va pasando como llamadas consecutivas a grep.
  4. Y por ultimo, grep busca «texto a buscar» dentro de los archivos que le pasa xargs, buscados a su vez por find.

Deja un comentario