OK Bruno, mas como faço para "escapar" um "\"? "\\"?
Eu tentei isso, pois precisava incluir no SED o "\" e não consegui... O legal do Perl é que tu podes usar "#", tipo em: perl -pi -e 's#<CENTER><B><FONT SIZE="+1">A Caverna Mágica</FONT></B></CENTER>#d:/mypics/personal#g' * Nem precisa se preocupar em "escapar" caracteres (note que o "#" é o separador (g#string1#string2#g arquivo)). Achei isso muito legal, mas não consegui usar variáveis dentro do script com Perl e estava sem tempo para ler o manual do bendito, mas acho que valha a pena se aprofundar nele, pois parece bem mais flexível que o SED. Lógico que o SED é a primeira opção para tarefas costumeiras! []]'s Renato Para criptografia e assinatura digital use minha CHAVE PÚBLICA PGP: http://www.rnp.br/keyserver/pks/lookup?op=get&search=0xA8BCCE4CFD92202C 2009/8/31 Bruno Gunter <[email protected]> > > > Renato, > > O SED não é nada ruim para trabalhar com caracteres especias. Basta você > "escapá-los" (\) que tudo funcionará bem. > > Exemplo: sed 's/\<\%*/$titulo/g' *.asp > > O mesmo vale para o AWK que seria uma boa alternativa ao seu Perl > também. > > []'s > Gunter > > > On Mon, 2009-08-31 at 12:22 -0300, Renato wrote: > > > > #!/bin/sh > > cd /home/*/metaforas/ > > for y in `ls *.asp`; > > echo $y; > > titulo=$(cat $y |grep "pageTitle ="|cut -d \" -f2); > > echo $titulo; > > sed -i "s/linhatemptitle/<TITLE>$titulo<FIMTITLE>/g" $y; > > done > > exit 0 > > > > O SED é muito ruim pra trabalhar com caracteres especiais, > > principalmente > > "\" e "/". Eu apanho! Por isso fiz o trabalho em partes: > > > > - Transformei a linha <TITLE><%= pageTitle %></TITLE> em na linha > > "linhatemptitle", usando Perl. > > - Usei o script acima pra achar a linha "linhatemptitle" e substituir > > por > > <TITLE>$titulo<FIMTITLE>. > > - Usei novamente o Perl para encontrar e substituir <FIMTITLE> por > > </TITLE> > > > > Desculpem por não ter feito da maneira correta, pois estava com muita > > pressa > > de resolver isso. > > > > Obrigado a todos pelas dicas, sempre tão valiosas! > > > > []'s > > Renato > > > > Para criptografia e assinatura digital use minha CHAVE PÚBLICA PGP: > > http://www.rnp.br/keyserver/pks/lookup?op=get&search=0xA8BCCE4CFD92202C > > > > 2009/8/31 Bruno Gunter <[email protected]<gunter%40infolink.com.br> > > > > > > > > > > > > > Basicamente: > > > > > > sed -i 's/<% pageTitle = "TÍTULO DA PÁGINA" %>/TÍTULO DA PÁGINA/g' > > *.asp > > > > > > > > > On Sun, 2009-08-30 at 18:49 +0000, tche_renato wrote: > > > > > > > > PessoALL, > > > > > > > > Eu sei que pra vocês deve ser algo simples, mas estou apanhado pra > > > > conseguir fazer o que preciso. > > > > > > > > Eu tenho centenas de arquivos com esta estrutura: > > > > -------------------------------------------------------- > > > > <%@ LANGUAGE="VBSCRIPT" %> > > > > <% pageTitle = "TÍTULO DA PÁGINA" %> > > > > > > > > <HTML> > > > > <HEAD> > > > > <TITLE><%= pageTitle %></TITLE> > > > > -------------------------------------------------------- > > > > Acontece que preciso substituir a string %= pageTitle % pelo que > > está > > > > entre aspas TÍTULO DA PÁGINA. > > > > > > > > Como fazer isso? > > > > > > > > []'s > > > > Renato > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas]
