
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 xargs
para fazer a mesma coisa:
xargs grep "My Search Pattern" < input.txt
xargs
é particularmente útil quando você deseja usar grep
vários nomes de arquivos passados de um canal, por exemplo:
find ~/Documents ~/bin -print0 | xargs -0 grep 'Search Term'