grep listar cada arquivo uma vez

8

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

    
por Guest1624 22.03.2013 / 15:24

2 respostas

11
grep -l xyz file*

em que xyz é o padrão de pesquisa e file * é a lista de arquivos a serem pesquisados em

    
por Guru 22.03.2013 / 15:27
1

grep -l LIST PATTERN é o caminho a percorrer. Como alternativa, pode-se usar xargs para fazer a mesma coisa:

xargs grep "My Search Pattern"  < input.txt 

xargs é particularmente útil quando você deseja usar grep em vários nomes de arquivos passados de um pipe, por exemplo:

find ~/Documents ~/bin -print0 | xargs -0 grep 'Search Term'
    
por Sergiy Kolodyazhnyy 05.02.2017 / 22:54