Buscar una cadena de texto en múltiples archivos

A menudo queremos saber que archivos contienen una cadena de texto. Si queremos hacer esto desde la línea de comandos:

find . -name '*.php' | xargs grep 'cadenaabuscar' -l

Este comando busca todos los archivos con extensión ‘.php’ en el directorio actual y sus subdirectorios, pasa la salida a grep y éste nos muestra los nombres de los archivos que contienen la cadena buscada.

Esto funciona en Mac OS X y en cualquier sistema Unix.

2 respuestas a «Buscar una cadena de texto en múltiples archivos»

  1. ¿Éste código se pone en la aplicación Terminal?
    ¿Y como se direcciona a una carpeta que tengas en el escritorio?
    Muchas gracias.

  2. Hola Sergi,

    Si, como la mayoría de comandos en sistemas Unix, se puede redireccionar la salida a un archivo, es decir, siguiendo con el ejemplo, podríamos hacer esto:

    find . -name ‘*.php’ | xargs grep ‘cadenaabuscar’ -l > lista_archivos.txt

    En el archivo lista_archivos.txt se mostrará la salida del comando, en este caso los nombres de archivo que tengan ‘cadenaabuscar’

Los comentarios están cerrados.