Finding "Nemo" - Procurando textos em arquivos no seu HD

Postado em 31 de Março de 2015 às 23:31


Quando decidi retomar meu antigo blog que estava em Wordpress resolvi fazer pequenos ajustes na forma de exibição do layout, mas não encontrava o arquivo que continha uma função específica para gerar um JavaScript responsável pela exibição do texto “Page 1 of N” na barrinha de navegação. Como o mecanismo de tradução não funcionou para este JavaScript, decidi alterar este texto na mão, mas o problema é que olhando arquivo por arquivo não consegui encontrá-lo.

Foi então que navegando pelo site Viva o Linux encontrei este post no fórum aonde um usuário sugere a utilização do find com a seguinte estrutura:

find /diretorio/a/pesquisar -name “*.*” -exec grep -l -i “texto” {} \;

Funcionou pra mim pois só precisei alterar alguns elementos:

find /home/web -name “*.*” -exec grep -l -i “Page %1$d of %2$d” {} \;

Como podemos observar no comando anterior, o argumento -name possibilita que o usuário entre com uma expressão para a busca. Entenda que o coringa “*” casa com tudo. Por exemplo:

find /home/web -name “*.txt”

Com o “*.txt” o find vai retornar todos os arquivos que possuem a extensão “.txt”. Então seguindo a lógica “*.*” vai procurar por qualquer arquivo que possui uma extensão seja lá ela qual for.

Já o argumento -exec permite que outro programa seja executado, no nosso caso o grep (-l vai suprimir o conteúdo do arquivo para listar somente seu nome e o -i ignora o case sensitive da busca, o texto entre aspas é o que o grep vai procurar, no meu caso “Page %1$d of %2$d”).

As chaves “{}” são um argumento do -exec, que lista o nome dos arquivos encontrados ali, e o “;” indica o fim do comando, e como se trata de um caractere especial, é preciso chamá-lo com a “\”.

Adicione seu comentário




Comentários:

EllZeft | 9 de Outubro de 2019 às 01:46

Zithromax Skin Rash Side Effects [url=http://brandcial.com]cialis overnight shipping from usa[/url] Ampicillin Vs Amoxicillin Propecia Agente