shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Apanhando com script - RESOLVIDO


From: Renato
Subject: Re: [shell-script] Apanhando com script - RESOLVIDO
Date: Mon, 31 Aug 2009 20:47:32 -0300

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 <address@hidden>

>
>
> 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 <address@hidden<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]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]