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.)