¿Cómo puedo usar greppara mostrar solo nombres de archivos (sin coincidencias en línea) en Linux?
Normalmente estoy usando algo como:
find . -iname "*php" -exec grep -H myString {} \;
¿Cómo puedo obtener los nombres de archivo (con rutas), pero sin las coincidencias? ¿Tengo que usar xargs? No vi una manera de hacer esto en mi greppágina de manual.

vim $(grep -rl Something app/)Respuestas:
La opción estándar
grep -l(que es una L minúscula) podría hacer esto.Del estándar Unix :
Tampoco es necesario
-Hen este caso.fuente
grep -nrl "some text" .en la búsqueda de texto en un conjunto de subcarpetas de forma recursivaDesde la
grep(1)página del manual:fuente
Para una simple búsqueda de archivos, puede usar grep
-ly-ropciones:Toda la búsqueda se realiza por grep. Por supuesto, si necesita seleccionar archivos en algún otro parámetro, find es la solución correcta:
La
execdiropción crea cada comando grep por cada directorio y concatena los nombres de archivo en un solo comando (+).fuente
Su pregunta ¿Cómo puedo obtener los nombres de archivo (con rutas)
Su sintaxis ejemplo find. -iname "* php" -exec grep -H myString {} \;
Mi sugerencia de comando
El resultado de este comando en mi sistema operativo Linux:
Como necesita el nombre del archivo con la ruta, ¡disfrute!
fuente