Procura no diretório atual e nos subdiretórios de uma string

1

Como posso pesquisar todos os arquivos em um diretório específico que contenha uma sequência de sequência específica como "superusuário"

i.e. procurar por todos os arquivos no diretório atual e subdiretórios (recursivamente) se eles contiverem o mundo "superusuário"

    
por user27449 18.02.2012 / 18:57

1 resposta

2

A opção -R do grep faz isto:

grep -R "superuser" .

EDIT: para pesquisar apenas arquivos .mp3 e retornar seus nomes (não o conteúdo correspondente, já que eles não são arquivos de texto), use find para obter uma lista de .mp3 e use xargs para passá-los para grep -l :

find . -name "*.mp3" -print0 | xargs -0 grep -l "superuser"

Se a sua versão do find oferecer suporte a -exec ... + (e pelo menos os recentes do OS X), você pode encontrar o grep de execução diretamente:

find . -name "*.mp3" -exec grep -l "superuser" {} +
    
por 18.02.2012 / 19:41