24 de agosto de 2011

Procurando strings em todos os arquivos

Há várias situações nas quais você precisa saber onde uma determinada palavra ou frase aparece em diversos arquivos.

O comando grep é muito útil nessas horas. Ele serve para fazer uma espécie de varredura em todas as linhas dos arquivos e retornar apenas aquelas que contém a palavra ou frase desejada.

Suponhamos, por exemplo, que você precise achar a expressão “Módulo principal” que você sabe que está em algum arquivo que está dentro de alguma pasta que está dentro da pasta /var/www.

O comando a ser usado seria:
grep 'resolutionMódulo principal'   /etc/ -r

A sintaxe aí é seguinte: grep “palavra a ser pesquisada”   pasta/a/pesquisar  opções

A opção -r serve para tornar a busca recursiva, ou seja, o programa vai buscar em todos os arquivos que estão em todas as pastas que estão na pasta raiz, entrando em cada pasta que encontrar no processo.

Se a busca retornar resultados demais, você pode usar o próprio comando grep novamente para refinar o filtro. Assim, digamos, por exemplo, que eu saiba que na mesma linha que exista também a seguinte string: “

grep 'Módulo principalresolution'   /var/www/* -r | grep '800'

Nenhum comentário: