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

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

Re: [shell-script] Como trocar e inserir texto dentro de um arquivo usan


From: Charles Silveira
Subject: Re: [shell-script] Como trocar e inserir texto dentro de um arquivo usando o SED?
Date: Thu, 20 Mar 2003 16:43:07 -0300 (ART)

Thobias, tentei resolver desta maneira :

cat $1 | sed 's/document name=\("[^"]*"\)/&
title=\1/;s/document name="[^"]\+"/&\
/' | sed '/document
name=/y/áãâäéêëíîïóõôúüÁÃÂÄÉÊËÍÎÏÓÕÖÚÜçÇàÀèÈÑñ/aaaaeeeiiiooouuAAAAEEEIIIOOOUUcCaAeENn/;/document
name="[^"]\+"/{N;s/\n//;}; s/title="[^"]\+"/&\
/' | sed
'/location=/y/áãâäéêëíîïóõôúüÁÃÂÄÉÊËÍÎÏÓÕÖÚÜçÇàÀèÈÑñ/aaaaeeeiiiooouuAAAAEEEIIIOOOUUcCaAeENn/;/title="[^"]\+"/{N;s/\n//;}'
> log

mas o atributo location continua acentuado, veja em:

        <document name="paginaCAOInternet.htm"
title="páginaCAOInternet.htm"
location="&prj-root;\paginaCAOInternet.htm"
content-type="text/html"/>
        <document name="promotoriaInternet.htm"
title="promotoriaInternet.htm"
location="&prj-root;\promotoriaInternet.htm"
content-type="text/html"/>
        <document name="Sobrecenacon.htm"
title="Sobrecenacon.htm"
location="&prj-root;\Sobrecenacon.htm"
content-type="text/html"/>
        <document name="Thumbs.db" title="Thumbs.db"
location="&prj-root;\Thumbs.db"/>
        <document name="OrgaosPublicos"
title="OrgãosPúblicos">
                <document name="ABNT.htm" title="ABNT.htm"
location="&prj-root;\OrgaosPublicos\ABNT.htm"
content-type="text/html"/>
                <document name="ALUTZ.htm" title="ALUTZ.htm"
location="&prj-root;\OrgaosPublicos\ALUTZ.htm"
content-type="text/html"/>
                <document name="ANATEL.htm" title="ANATEL.htm"
location="&prj-root;\OrgaosPublicos\ANATEL.htm"
content-type="text/html"/>
                <document name="ANEEL.htm" title="ANEEL.htm"
location="&prj-root;\OrgaosPublicos\ANEEL.htm"
content-type="text/html"/>
                <document name="ANP.htm" title="ANP.htm"
location="&prj-root;\OrgaosPublicos\ANP.htm"
content-type="text/html"/>
                <document name="BACEN.htm" title="BACEN.htm"
location="&prj-root;\OrgaosPublicos\BACEN.htm"
content-type="text/html"/>
                <document name="CADE.htm" title="CADE.htm"
location="&prj-root;\OrgaosPublicos\CADE.htm"
content-type="text/html"/>
                <document name="CAEX.htm" title="CAEX.htm"
location="&prj-root;\OrgaosPublicos\CAEX.htm"
content-type="text/html"/>
                <document name="CaTI.htm" title="CáTI.htm"
location="&prj-root;\OrgaosPublicos\CáTI.htm"
content-type="text/html"/>

Este último ainda fica acentuado.

O que está errado?

Charles Silveira.



 --- Thobias Salazar Trevisan
<address@hidden> escreveu: 
---------------------------------

Oi Charles,

On Thu, 20 Mar 2003, Charles Silveira wrote:

> Thobias, talvez não tenha sido claro neste mail. O
que
> eu quero fazer é procurar:

eu tinha entendido. tava apanhando pra fazer mesmo :)

> <document name="OrgãosPúblicos.htm"
> location="&prj-root;\OrgaosPublicos\ABNT.htm"
> content-type="text/html"/>
>
> e substituir por:
>
> <document name="OrgaosPublicos.htm"
> title="OrgãosPúblicos"
> location="&prj-root;\OrgaosPublicos\ABNT.htm"
> content-type="text/html"/>
>
> sed
>
'y/,áãâäéêëíîïóõôúüÁÃÂÄÉÊËÍÎÏÓÕÖÚÜçÇàÀèÈÑñ/_aaaaeeeiiiooouuAAAAEEEIIIOOOUUcCaAeENn/'
>
> para retirar acentos, mas não sei como combinar com
>
> sed 's/document name=\("[^"]*"\)/& title=\1/' que
> acrescenta o atributo title.

Vamos lah:

$ cat file
lixo
'<document name="OrgaosPúblicos">' e substiuir pela
'<document name="shell">'
'<document name="náda" mais áalgo>'
'<xxx document name="nada">'
<document name="02-918-Virtua.htm"
location="&prj-root;\AtuacaoPratica\Iniciais\02-918-Virtua.htm"
content-type="text/html"/>
'document name="nada" maíis algo>'

$ cat file | sed 's/document name=\("[^"]*"\)/&
title=\1/;s/name="[^"]\+"/&\
/' | sed '/document name=/y/áéíóú/aeiou/;/document
name="[^"]\+"/{N;s/\n//;}'

Nao sei se vai ficar direito o comando no mail.
Mas como vc quer soh uma parte pra trocar de aeiou p/
áéíóú

Vc primeiro faz o
sed 's/document name=\("[^"]*"\)/& title=\1/

Apos isto, tudo vai ter o acento que.
Fizemos um
s/document name="[^"]\+"/&\
/'

colocamos um \n apos name="xxx"
depois um
 sed '/document name=/y/áéíóú/aeiou/
pra tirar acentos somente das linhas que tenham
document name=
PS: o title estara na proxima linha

juntamos de volta a linha no name com a do title.
/document name="[^"]\+"/{N;s/\n//;}'

Saida do comando:
lixo
'<document name="OrgaosPublicos"
title="OrgaosPúblicos">' e substiuir pela
'<document name="shell" title="shell">'
'<document name="nada" title="náda" mais áalgo>'
....

Thobias.
-------
echo 24883721290304465999833114447114149701898P | dc
-------
Thobias Salazar Trevisan
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------


Yahoo! Groups Sponsor      Escolha uma entre + de
110.000 vagas!- Profissional- Profissional :
Diretoria- Profissional : Ger&ecirc;ncia- Profissional
: Supervis&atilde;o- Profissional : Superior-
Profissional : T&eacute;cnico- Profissional : Outros-
Rec&eacute;m-formados- Est&aacute;gi&aacute;rios 
[input]  [input]  [input] 

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens
de programação, como perl, C etc. Quem insistir em não
seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista:
address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------


Seu uso do Yahoo! Grupos é sujeito aos Termos do
Serviço Yahoo!. 

_______________________________________________________________________
Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! 
encontra.
http://br.busca.yahoo.com/


reply via email to

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