Busca dentro de arquivos – Usando o Find + xargs e grep

Fazer uma procura de uma palavra dentro de um arquivo.

1
$> find -name *.html | xargs grep -r "title"

O que ele faz é procurar em todos os arquivos a palavra title, acrescentando  ”*” sem aspas no final teremos o caminho e no arquivo que contem a palavra pesquisada.

1
$> find -name *.html | xargs grep -r title *

Teremos a saída parecida com isso:

$> find-name *.html | xargs grep-r title *
./index.html: '<a rel="prettyPhoto[2]" href="{{image}}" title="{{title}}">'+
./index.html: '<img src="{{image_s}}" alt="{{title}}">'+
>
</a>

O find, como o nome diz, é utilizado para se encontrar arquivos no sistema. Já o xargs facilita a repetição de um certo comando para cada entrada fornecida para ele.

 

Já usei este comando junto com o tar para criação de backups e funcionava muito bem.

Sempre tive a necessidade de encontrar arquivos em meu sistema, porém, a única associação que tinha desse arquivo era um parâmetro, ou trecho, que estava dentro do arquivo e com o comando find, apenas encontrava se soubesse o nome do arquivo.

Bom, esse problema foi resolvido e gostaria de compartilhar com vocês:

$ find  ./* -type f -exec  grep  -l STRING  {} \;

Altere “STRING” com o trecho que gostaria de procurar.

 

permissões apenas em arquivos.

[/home/user/public_html/wp-content/themes/u-design/styles]# find . -type f -exec chmod 444 {} \;

find . -type f -exec chmod 444 {} \;

 

http://www.vivaolinux.com.br/dica/Find-Pesquisar-trechos-(strings)-dentro-de-arquivos

http://www.jostdayan.com.br/2011/07/busca-dentro-de-arquivos-usando-o-find/

Deixe um comentário