Como posso encontrar todos os arquivos ascii em um diretório que tenha a palavra camiseta neles? Começando da raiz

2

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?

    
por Malia 23.10.2011 / 17:31

3 respostas

5

find . -print0 | xargs -0 grep -FH text

É executado com mais rapidez do que -exec ou grep -r na minha máquina.

    
por 23.10.2011 / 21:31
4

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 .

    
por 23.10.2011 / 17:49
2

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

    
por 23.10.2011 / 17:49

Tags