GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je utiliser grep pour afficher uniquement les noms de fichiers sous Linux ?

Pour une recherche de fichier simple, vous pouvez utiliser le -l de grep et -r option :

grep -rl "mystring"

Toute la recherche est effectuée par grep. Bien sûr, si vous devez sélectionner des fichiers sur un autre paramètre, find est la bonne solution :

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

Le execdir L'option construit chaque commande grep pour chaque répertoire et concatène les noms de fichiers en une seule commande (+ ).


L'option standard grep -l (c'est-à-dire un L minuscule) pourrait le faire.

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

Vous n'avez pas non plus besoin de -H dans ce cas.


A partir du grep(1) page de manuel :

  -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. Comment utiliser BusyBox sous Linux

  2. Comment utiliser la commande Linux grep

  3. Comment j'utilise cron sous Linux

  4. Comment utiliser Décompresser sous Linux

  5. Comment utiliser les commandes Grep sous Linux ou FreeBSD

Comment utiliser la commande Linux SS

Comment utiliser la commande Linux nohup

Comment utiliser traceroute sur Kali Linux

Comment utiliser la commande Grep sous Linux + exemples utiles de Grep

Comment utiliser l'écran Linux

Comment utiliser grep sous Linux