find . -print0 | xargs -0 grep -FH text
É executado com mais rapidez do que -exec ou grep -r na minha máquina.
Qual comando eu usaria para encontrar todos os arquivos sob o diretório girl que tem o texto ascii “shirt” dentro dos arquivos, começando pelo diretório raiz?
find . -print0 | xargs -0 grep -FH text
É executado com mais rapidez do que -exec ou grep -r na minha máquina.
grep é a ferramenta padrão para procurar por um padrão dentro dos arquivos. Ele tem uma opção para pesquisar recursivamente, o que significa que, se encontrar um diretório, ele vai para dentro e pesquisa tudo o que estiver lá.
O comando seria simplesmente grep -r shirt /path/to/girl/
Eu também gosto de adicionar duas opções que ignoram arquivos que eu sei que não estou interessado: --binary-files=without-match e --devices=skip .
Como declarado por Shawn , usando grep -r pode ser suficiente para as suas necessidades.
Caso contrário, uma combinação de find e grep pode resolver:
find . -exec grep -H text '{}' ';'
Isso permite refinar a pesquisa usando predicados de localização específicos.
(E a opção -H está lá para que os nomes dos arquivos sejam impressos junto com o conteúdo correspondente.)