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

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

Re: [shell-script] Tutorial: Convertendo logs de Licq em logs de IRC


From: aurelio
Subject: Re: [shell-script] Tutorial: Convertendo logs de Licq em logs de IRC
Date: Wed, 30 Apr 2003 14:47:33 -0300 (ART)

ae olive :)

 --- Fábio Olivé Leite <address@hidden> escreveu:
> Mas não funciona se houverem várias linhas consecutivas começadas
> por :, no caso de uma mensagem ter mais de uma linha... :))

opa, aí realmente o awk fica menor e mais fácil de entender...


> Talvez se possa arrumar para que funcione com mais de uma 
> linha ':' se usarmos o hold buffer do sed para armazenar o nickname 
> de quem fala, mas não sei como usá-lo.

exactamente.

$ cat lixo
[ R | 0001 | 0260 | 0000 | 1051628311 ]
:buenas patricio.
[ S | 0001 | 0270 | 0000 | 1051628461 ]
:fala paisano, tranquilo?
:entao, essa eh a segunda linha
:e a terceira
[ R | 0001 | 0260 | 0000 | 1051628311 ]
:tres linhas? nossa! :)


$ cat lixo | sed -n '/^\[ /{ s///;s/^R.*/felipe/;s/S.*/olive/;h; }
                     /^:/  { G;s/:\(.*\)\n\(.*\)/<\2> \1/p; }'
<felipe> buenas patricio.
<olive> fala paisano, tranquilo?
<olive> entao, essa eh a segunda linha
<olive> e a terceira
<felipe> tres linhas? nossa! :)



o 'h' guarda o nick ho HOLD (sobrescrevendo).
o 'G' pega o nick do HOLD (anexando). nesse ponto a linha fica:

    :buenas patricio.\nfelipe

depois o s/// macho troca as partes de lugar e adiciona os <>


ok, admito: essa você venceu ;)


=====
-- 
ATENCAO: o www.verde666.org vai morrer, use www.aurelio.net
ATTENTION: www.verde666.org is no more, use www.aurelio.net

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3, 
filtro contra spam. 
http://br.mail.yahoo.com/


reply via email to

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