Não tenho certeza de qual versão de grep
você está usando, mas se eu estiver lendo a página de manual de grep
corretamente, a verificação será interrompida após a primeira correspondência bem-sucedida. É isso que você quer? O que eu entendi da sua pergunta foi que você queria "abrir todos os arquivos".
Se você não se importa em usar vim
ou gvim
, você pode usar isto:
$ grep -n mystring *.ext > /tmp/mystring.list
$ vim -q /tmp/mystring.list
(Eu nunca tentei combinar esses dois comandos, pois vim
não leu quickfix
/ errorfile
de stdin
)
O Vim abrirá o primeiro arquivo em /tmp/mystring.list
e posicionará o cursor diretamente na linha em que mystring
foi encontrado. Você pode ir para a próxima instância usando :cn
e a instância anterior usando :cp
.
Se você não é um usuário vim
e desde que você disse que a pergunta vinculada não ajudou muito, então find ... -print0
deve ajudar - como já sugerido.