segunda-feira, 27 de fevereiro de 2012

Como pesquisar no conteúdo de arquivos em Unix

É uma tarefa comum ter que encontrar um padrão específico dentro de um arquivo ou mesmo procurar um arquivo que tenha uma string específica.

O comando grep pode ser usado para essa tarefa.

Ex:
> grep test *
Procura a string "test" dentro de todos os arquivos do diretório corrente

> grep test */*
Procura a string "test" dentro de todos os arquivos de todos os sub-diretórios correntes

Na saída do grep ele mostra o arquivo e a linha onde encontrou o padrão.

Ele também pode ser concatenado com outros comandos. Por exemplo, para pesquisar todos os processos em execução no momento que tenham a string "test", use o comando abaixo:

> ps -ef | grep test