grep liste chaque fichier une fois

8

Je recherche du texte dans des fichiers, mais trois sont beaucoup de fichiers et le texte recherché apparaît plusieurs fois dans un fichier, comment puis-je recevoir une liste de fichiers contenant du texte recherché avec chaque fichier répertorié une seule fois?

Guest1624
la source

Réponses:

15
grep -l xyz file*

où xyz est le modèle de recherche et fichier * est la liste des fichiers à rechercher dans

Gourou
la source
1

grep -l LIST PATTERNest la voie à suivre. Alternativement, on pourrait utiliser xargspour faire la même chose:

xargs grep "My Search Pattern"  < input.txt 

xargsest particulièrement utile lorsque vous souhaitez utiliser grepplusieurs noms de fichiers transmis depuis un tube, par exemple:

find ~/Documents ~/bin -print0 | xargs -0 grep 'Search Term'
Sergiy Kolodyazhnyy
la source