#!/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 <gun...@infolink.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]