GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo usar grep para mostrar solo nombres de archivo en Linux?

Para una búsqueda de archivos simple, puede usar -l de grep y -r opciones:

grep -rl "mystring"

Toda la búsqueda se realiza mediante grep. Por supuesto, si necesita seleccionar archivos en algún otro parámetro, encuentre la solución correcta:

find . -iname "*.php" -execdir grep -l "mystring" {} +

El execdir La opción construye cada comando grep por cada directorio y concatena los nombres de archivo en un solo comando (+ ).


La opción estándar grep -l (que es una L minúscula) podría hacer esto.

Del estándar Unix:

-l
    (The letter ell.) Write only the names of files containing selected
    lines to standard output. Pathnames are written once per file searched.
    If the standard input is searched, a pathname of (standard input) will
    be written, in the POSIX locale. In other locales, standard input may be
    replaced by something more appropriate in those locales.

Tampoco necesitas -H en este caso.


Desde el grep(1) página man:

  -l, --files-with-matches
          Suppress  normal  output;  instead  print the name of each input
          file from which output would normally have  been  printed.   The
          scanning  will  stop  on  the  first match.  (-l is specified by
          POSIX.)

Linux
  1. Cómo usar BusyBox en Linux

  2. Cómo usar el comando grep de Linux

  3. Cómo uso cron en Linux

  4. Cómo usar BUSCAR en Linux

  5. Cómo usar Descomprimir en Linux

Cómo usar el comando SS de Linux

Cómo usar el comando nohup de Linux

Cómo usar traceroute en Kali Linux

Cómo usar el comando Grep en Linux + Ejemplos útiles de Grep

Cómo usar la pantalla de Linux

Cómo usar grep en Linux