grep lista cada arquivo uma vez

grep lista cada arquivo uma vez

Estou procurando algum texto em arquivos, mas três são muitos arquivos e o texto pesquisado aparece várias vezes em um arquivo. Como posso receber uma lista de arquivos que contém o texto pesquisado com cada arquivo listado apenas uma vez?

Responder1

grep -l xyz file*

onde xyz é o padrão de pesquisa e arquivo* é a lista de arquivos a serem pesquisados

Responder2

grep -l LIST PATTERNé o caminho a seguir. Alternativamente, pode-se usar xargspara fazer a mesma coisa:

xargs grep "My Search Pattern"  < input.txt 

xargsé particularmente útil quando você deseja usar grepvários nomes de arquivos passados ​​​​de um canal, por exemplo:

find ~/Documents ~/bin -print0 | xargs -0 grep 'Search Term'

informação relacionada