Posible duplicado:
¿Cómo puedo grep en los archivos de origen para algún texto?
¿Cuál es el comando para buscar texto específico en tipos de archivo específicos, recursivamente, en el directorio actual?
Posible duplicado:
¿Cómo puedo grep en los archivos de origen para algún texto?
¿Cuál es el comando para buscar texto específico en tipos de archivo específicos, recursivamente, en el directorio actual?
ack-grep
, puede usar los ejemplos en la pregunta como un comienzo (como dije), es decir, lasfind | xargs | grep
líneas. Para la salida específica,man grep
siempre es útil leer.grep -r --include=*.<type> "<string>" .
, lo que funcionó. Desafortunadamente, la página de manual no es muy sencilla al mencionar el punto final.Respuestas:
Este comando ejecuta find en el directorio local (.) Para cualquier archivo con nombres que coincidan con el patrón * .extension, luego ejecuta grep para "string" en los resultados de find . Tenga en cuenta que find es inherentemente recursivo. Siempre que pueda diferenciar los archivos que desea de los archivos que no tiene en función del nombre, esto debería funcionar para usted.
fuente
print0
opción para estar más seguro.find -print0
no ayudará, también usexargs -0
:find . -type f -name "*.ext" -print0 | xargs -0 grep "string"
Para enumerar el nombre del archivo, el número de línea en el archivo especificado y la línea aparece el texto:
Solo se ejecutará en el directorio actual, pero lo formateará bien para usted.
fuente