Executando um comando em todos os arquivos que contenham uma string

4

Estou encontrando um monte de arquivos com find . -exec grep -l mypattern {} \;

Qual é a maneira mais simples e elegante de executar um determinado comando separadamente em cada uma das listas de arquivos resultantes?

    
por GJ. 10.05.2012 / 14:12

1 resposta

9

Para começar, use:

grep -Rl mypattern .

diretamente em vez da construção find .

Qual é o comando certo? Provavelmente a melhor e mais segura maneira de falhar seria

grep -ZRl mypattern . | xargs -0 mycommand

Exatamente o que você deseja fazer é até xargs daqui.

    
por 10.05.2012 / 14:23