[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: |
Thobias Salazar Trevisan |
Subject: |
Re: [shell-script] Tutorial: Convertendo logs de Licq em logs de IRC |
Date: |
Wed, 30 Apr 2003 15:13:21 -0300 (BRT) |
ae olive,
On Wed, 30 Apr 2003, Fábio Olivé Leite wrote:
> Mas não funciona se houverem várias linhas consecutivas começadas por
> :, no caso de uma mensagem ter mais de uma linha... :))
>
> Note que eu falei "as linhas de texto enviado ou recebido, que começam
> por ':'", então pode ser mais de uma. :P
>
> Mas valeu, eu ia perguntar pra lista pelo equivalente em sed e
> esqueci. 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.
deixa eu também postar minha solução :)
#!/bin/sed -nf
:c
/^\[ /{
# colocamos no reserva o nick
/S/{s/.*/<olive>/;h;}
/R/{s/.*/<felipe>/;h;}
# colocamos um label e lemos a proxima linha
:a
n
# se nao comecar com : vamos pro inicio do script
/^[^:]/bc
# adicionamos a linha no reserva. aqui o reserva tem na primeira
# linha o nick e na segunda o dialogo
H
# pegamos do reserva
x
s/>\n:/> /p # tiramos o \n e imprimimos
s/^\(<.*>\).*/\1/ # deixamos soh o nick
# coloca o nick no reserva e volta pro label :a
h
ba
}
Vamos simular uma conversa :)
[ R | 0001 | 0260 | 0000 | 1051628311 ]
:buenas patrício.
[ S | 0001 | 0270 | 0000 | 1051628461 ]
:fala paisano, tranquilo?
:tudo blz?
:responde...
[ R | 0001 | 0260 | 0000 | 1051628311 ]
: tava vendo o capitao caverna :)
[ R | 0001 | 0260 | 0000 | 1051628311 ]
: tudo blz
$ ./script.sed lixo
<felipe> buenas patrício.
<olive> fala paisano, tranquilo?
<olive> tudo blz?
<olive> responde...
<felipe> tava vendo o capitao caverna :)
<felipe> tudo blz
abraco.
thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias
____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------