Unix: Procura por conteúdo de arquivo

1

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?

    
por Svish 22.04.2010 / 15:32

2 respostas

4

Se você não precisa pesquisar subdiretórios:

grep -l "string" <pattern>

(< pattern > é um padrão de glob de arquivos, por exemplo, * .txt)

    
por 22.04.2010 / 15:45
2

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 {} +
    
por 22.04.2010 / 16:57