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: Bruno Gunter
Subject: Re: [shell-script] Apanhando com script - RESOLVIDO
Date: Tue, 01 Sep 2009 10:47:08 -0300

Sim, com \\ :-)

Por exmeplo:
bgunter@bgunter-desktop:~$ cat a
www\exemplo\sou\windows
bgunter@bgunter-desktop:~$ sed 's/\\/\//g' a
www/exemplo/sou/windows


Dá uma lida no site do Aurelio ou do Julio, Lá tem exemplos bacanas e
simples de entender.

[]'s

On Mon, 2009-08-31 at 20:47 -0300, Renato wrote:
>   
> 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]