Je cherche du texte dans des fichiers, mais trois représentent 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?
grep -l xyz file*
où xyz est le modèle de recherche et fichier * est la liste des fichiers dans lesquels rechercher
grep -l LIST PATTERN
est la voie à suivre. Sinon, vous pouvez utiliser xargs
pour faire la même chose:
xargs grep "My Search Pattern" < input.txt
xargs
est particulièrement utile lorsque vous souhaitez utiliser grep
sur plusieurs noms de fichiers transmis à partir d'un canal, par exemple:
find ~/Documents ~/bin -print0 | xargs -0 grep 'Search Term'