-exec
é avaliado como "verdadeiro" se o comando retornar zero (sucesso):
find . -type f -exec egrep -qs "regex" {} \; -print
Substitua -print
pela ação de sua escolha.
No entanto, considere que desta forma egrep
é executado uma vez para cada arquivo . Comparar:
equal ~/code $ time find -type f -exec grep -qs bin/env {} \; -print | wc -l 60 real 0m0.760s user 0m0.104s sys 0m0.596s
vs.
equal ~/code $ time find -type f -print0 | xargs -0 egrep -l bin/env | wc -l 60 real 0m0.021s user 0m0.003s sys 0m0.023s
(Testado em um pequeno repositório Git, 300 arquivos, ~ 2.6 MB.)