GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu použít grep k zobrazení pouze názvů souborů v Linuxu?

Pro jednoduché vyhledávání souborů můžete použít -l grepu a -r možnosti:

grep -rl "mystring"

Veškeré vyhledávání provádí grep. Samozřejmě, pokud potřebujete vybrat soubory na nějakém jiném parametru, najít je správné řešení:

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

execdir volba vytvoří každý příkaz grep pro každý adresář a zřetězí názvy souborů pouze do jednoho příkazu (+ ).


Standardní volba grep -l (to je malé písmeno L) by to mohlo udělat.

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

Také nepotřebujete -H v tomto případě.


Z grep(1) manuálová stránka:

  -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. Jak používat BusyBox na Linuxu

  2. Jak používám cron v Linuxu

  3. Jak používat FIND v Linuxu

  1. Jak používat Linuxový příkaz grep

  2. Jak používat Unzip v Linuxu

  3. Jak mohu použít rsync se systémem souborů FAT?

  1. Jak používám nastavení usnadnění přístupu v systému Linux

  2. Jak používat Su Command v Linuxu

  3. Jak používat příkazy Grep na Linuxu nebo FreeBSD