Se você não precisa pesquisar subdiretórios:
grep -l "string" <pattern>
(< pattern > é um padrão de glob de arquivos, por exemplo, * .txt)
Eu acho o comando find . -name "some-file"
muito útil para listar todos os arquivos correspondentes a algum nome de arquivo em uma pasta. Existe algo semelhante que eu possa usar para listar todos os arquivos que contém string?
Se você precisasse encontrar todos os arquivos em um diretório que tivesse uma certa string de texto, o que você usaria?
Caso você esteja usando um sistema com um grep estritamente compatível com POSIX, isto é, que não suporta o sinalizador -r, mas você ainda quer reciclar em subdiretórios, você pode usar este comando:
find . -type f -name "*.txt" -exec grep -l string {} +
Tags search unix file-management