[Reddes] [Reddes.bvs-tech] [Dicas&Truques] Encontrando aquivos com conteúdo específico no Linux (007)
Francisco J D M Lopes Santos
francisco.lopes at bireme.org
Fri Jul 20 20:10:54 BRST 2012
Olá, esta é a mais uma mensagem "Dicas & Truques", contribuição de Chico Lopes, sendo direcionada a informáticos, seu conteúdo é de nível médio e tecnológico.
Público alvo: informáticos
Nível: MÉDIO
Conteúdo: tecnológico
Objetivo: Localizar arquivos com conteúdo específico
Suponha que você precisa mudar algo em todas as tabelas que estão nas páginas do site da instituição. Deve haver muitas páginas e você tem de encontrar as que tem tabelas dentro.
Nessa hora a ferramenta grep dos sistemas Linux (ou UNIX) vem em nosso auxílio, veja...
Por exemplo, estamos no diretório /home/site1/public_html, daqui para baixo temos os arquivos htm e html das páginas. Com o comando grep --color -nir "<table" *.htm* vamos obter uma listagem dos arquivos que contém a sequencia de caracteres ' <table ', em maiúsculas ou minúsculas, indiferentemente, e de quebra em qual linha está ocorrendo a string , como abaixo: $ grep --color -nir "<table" *.htm* atd2CV-Unifesp.htm :9: <table border="0" align="xcenter" cellspacing="0" cellpadding="0" atd2CV-Unifesp.htm :67: <table align="left" border="0" atd2CV-Unifesp.htm :263: <table border="0" atd2CV-Unifesp.htm :487: <table border="0" align="left" atd2.htm :9: <table border="0" align="xcenter" cellspacing="0" cellpadding="0" atd2.htm :68: <table align="left" border="0" atd2.htm :320: <taBle border="0" atd2.htm :544: <table border="0" align="left" atma.htm :8: <table border="0" align="xcenter" cellspacing="0" cellpadding="0" atma.htm :66: <table align="left" border="0" atma.htm :545: <table border="0" align="left" base.html :4: <table border=1
$
Olhando mais de perto podemos ver o efeito do parâmetro --color (que é opcional) que faz o nome do arquivo aparecer em uma cor, o numero da linha em outra e por fim o texto procurado em outra cor, deixando o restante na cor padrão do terminal.
atd2.htm :320: <taBle border="0"
As opções demais opções utilizadas tem as seguintes funções: n Mostra o número da linha onde ocorre a string
i ignora letras maiúsculas / minúsculas
r recorre aos subdiretórios na execução da busca
É possivel obter mais informações sobre o comando e as opções com a opção --help ( grep --help ), ou em seu manual online ( man 1 grep ), se instalado.
Imagine querer trocar o nome de uma base de dados em todos os .def que ela apareça e ter de editar def por def para saber em quais tem de fazer ou não alterações. É o grep que vai te ajudar bastante nessa hora, principalmente, porque ele funciona, exatamente, desta forma em quase todas as distribuições.
Obs.: Se você utiliza Windows, fique tranquilo, existem programas equivalentes para linha de comando ou interface gráfica, basta procurar na Internet " grep para Windows " e muitas alternativas te serão apresentadas.
Até a próxima!
http://wiki.bireme.org/pt/index.php/Dicas_e_truques
http://wiki.bireme.org/pt/index.php/Encontrando_aquivos_com_conteúdo_específico_no_Linux_(007)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listas.bireme.br/pipermail/reddes/attachments/20120720/57a703f5/attachment-0001.html
-------------- next part --------------
_______________________________________________
Reddes.bvs-tech mailing list
Reddes.bvs-tech at listas.bireme.br
http://listas.bireme.br/mailman/listinfo/reddes.bvs-tech
More information about the Reddes
mailing list