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