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.