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 comentarios en “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’

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *