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: Thobias Salazar Trevisan
Subject: Re: [shell-script] Como trocar e inserir texto dentro de um arquivo usando o SED?
Date: Thu, 20 Mar 2003 14:52:18 -0300 (EST)

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
|
----------------------------



reply via email to

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