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.

Únete a la conversación

2 comentarios

  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’

Dejar un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.