GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich grep verwenden, um nur Dateinamen unter Linux anzuzeigen?

Für eine einfache Dateisuche könnten Sie -l von grep verwenden und -r Optionen:

grep -rl "mystring"

Die gesamte Suche wird von grep durchgeführt. Wenn Sie Dateien nach einem anderen Parameter auswählen müssen, finden Sie natürlich die richtige Lösung:

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

Die execdir Die Option baut jeden grep-Befehl für jedes Verzeichnis auf und verkettet Dateinamen zu nur einem Befehl (+ ).


Die Standardoption grep -l (das ist ein kleines L) könnte dies tun.

Aus dem Unix-Standard:

-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.

Sie brauchen auch -H nicht in diesem Fall.


Aus dem grep(1) Manpage:

  -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. So verwenden Sie BusyBox unter Linux

  2. So verwenden Sie den Linux-Grep-Befehl

  3. Wie ich Cron unter Linux verwende

  4. So verwenden Sie FIND unter Linux

  5. So verwenden Sie Grep-Befehle unter Linux oder FreeBSD

So verwenden Sie den Linux-SS-Befehl

So verwenden Sie den Linux-nohup-Befehl

So verwenden Sie Traceroute unter Kali Linux

So verwenden Sie den Grep-Befehl unter Linux + Nützliche Grep-Beispiele

So verwenden Sie den Linux-Bildschirm

So verwenden Sie grep unter Linux