$ sed -n '/^\([0-9]\+:\)\+/h;/^[a-...@\([a-z].\)*[a-z]*/{H;g;s/\n/
/;p}' temp.txt
00:00:00: bla bla bla... em...@provedor.com.br
00:00:00: bla bla bla... em...@provedor.com.br
00:00:00: bla bla bla... em...@provedor.com.br 

Explicando:
$ sed -n '
/^\([0-9]\+:\)\+/h;             # Procura pelo padrão da hora
                                # e guarda no espaço de troca (h);
/^[a-...@\([a-z].\)*[a-z]*/     # Procura pelo padrão do e-mail
{                                       # então:
  H;                                    # Acrescenta a linha no esp.
troca;
  g;                                    # pega o espaço de troca;
  s/\n/ /;                              # substitui o nova linha por
espaço
  p                                     # Exibe o resultado
}' temp.txt


> -----Original Message-----
> From: Laercio Motta
> 
> Boa tarde amigos..
> é o seguinte..
> 
> tenho um arquivo de dump(tcpdump)
> 
> digamos que ele esteja assim:
> 
> 00:00:00: bla bla bla...
> linha1
> linha2
> em...@provedor.com.br
> 
> 00:00:00: bla bla bla...
> linha1
> linha2
> linha3
> linha4
> em...@provedor.com.br
> 
> 00:00:00: bla bla bla...
> linha1
> em...@provedor.com.br
> 
> acho que intederam né? não tem uma linha fixa para o 
> em...@provedor esta..
> blz.. até ae tudo bem..
> só que eu quero saber o horario que o e-mail apareceu e o ip 
> de origem e de
> destino..
> no caso teria que achar o email e procurar "para traz" qual 
> linha pertece a
> ele..
> como seria o jeito de se fazer?? nao tenho a minima ideia de 
> como fazer
> isso..
> 
> Obrigado e aguardo respostas..
> 
> 

Responder a