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

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

Re: [shell-script] sed e seus registradores internos


From: Thobias Salazar Trevisan
Subject: Re: [shell-script] sed e seus registradores internos
Date: Tue, 21 Oct 2003 21:27:28 -0200 (BRST)

ae pablo,

On Tue, 21 Oct 2003, Pablo Fernandes wrote:

> sed '/elvis/h ; /presley/H ; /little/x ; /richard/G ;
> /little/g' arquivo
>
> Em ($ls arquivo)
> elvis
> presley
> little
> richard
>
> resulta em:
> elvis
> presley
> elvis
> presley
> little     ?
>
> O resultado não era para ser:
>
> elvis
> presley
> elvis
> presley
> richard
> little  ?
>
> vendo dessa forma:
> Padrão       reserva
> [elvis] h->  [elvis]  (sai elvis)
> [presley] H->  [elvis \n presley]  (sai presley)
> [elvis \n presley] <-x-> [little] (sai elvis\npresley)
> [richard\nlittle]  <-G [little] (sai richard\nlittle)
>
> O que estaria errado?

a última letra do seu sed. em vez de g é h ;)

seu sed:

sed '/elvis/h ; /presley/H ; /little/x ; /richard/G ; /little/g' arquivo

para você ter richard\nlittle após o comando '/richard/G' você
precisa colocar o little no reserva, que vem uma linha antes do
richard.

$ sed '/elvis/h;/presley/H;/little/x;/richard/G;/little/h' arquivo
elvis
presley
elvis
presley
richard
little

Dica: http://sedsed.sf.net

$ sedsed --debug '/elvis/h;/presley/H;/little/x;/richard/G;/little/h'
arquivo | less -r

e deixe o sedsed te mostrar o que ocorre por trás das cortinas :)

falow

thobias
-------
echo 133449562074222244746332132269002206986P | dc
-------
http://thobias.org

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


reply via email to

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