Se você conseguir apenas os timestamps, o seguinte é suficiente:
sed -e:n -e'$!N;s/^\(\([^-]*-\).*\)\n */:::/;tn' -eP\;D <in >out
Anexa recursivamente a linha N
ext à linha atual e, se todos os caracteres na linha atual, incluindo o primeiro -
traço, puderem corresponder ao cabeçalho da linha anexada, os dois são unidos e o registro de data e hora anexado é removido. Se s///
ubstitution t
ests for bem-sucedida, sed
será ramificado para o rótulo :n
para outra linha N
ew, caso contrário, todos os dados mesclados pendentes serão P
rinted para stdout antes de ser D
é eliminado e sed
recomeça a partir do topo para tentar novamente.
Dados seus dados de amostra, imprime:
6/13/2015 12:00:47 AM - { 562} START Web ::: Requested Web connection from 123.125.71.103 [123.125.71.103], ID=562
6/13/2015 12:01:24 AM - { 563} START POP3 ::: Requested POP3 connection from 10.127.251.37 [10.127.251.37], ID=563 ::: ( 563) USER [email protected] ::: POP3 connection with 10.127.251.37 [10.127.251.37] ended. ID=563 ::: { 563} END POP3::: { 564} START POP3 ::: Requested POP3 connection from 10.127.251.37 [10.127.251.37], ID=564 ::: ( 564) USER [email protected] ::: POP3 connection with 10.127.251.37 [10.127.251.37] ended. ID=564 ::: { 564} END POP3
6/13/2015 12:01:40 AM - Web connection with 123.125.71.103 [123.125.71.103] ended. ID=562 ::: { 562} END Web
Mas isso não é muito bom, aparentemente. Parece que você quer mesclar ID - desculpe por isso. O que se segue funciona - também apaga carimbos de data / hora e IDS repetitivos conforme ocorre na entrada.
sed -e'y/)},={/(((((/' \
-e's/-\([^(I]*\)[^0-9]*\([0-9]*\)[( ]*/- -/;=' |
paste -d- - - |
sort -t- -nk3,3 -nk1,1 |
sed -e's/^[^-]*-//;:n' -e'h;$!N' \
-e's/\(-\([^-]*-\).*[^ ]\) *\n\([^-]*-\)\{2\}/ - /;tn' \
-ex\;:t -e's/\(\([^-]*-\)[^/]*\)- */:::/;tt' -e'p;g;D'
6/13/2015 12:00:47 AM - 562 - START Web ::: Requested Web connection from 123.125.71.103 [123.125.71.103] - 6/13/2015 12:01:40 AM - Web connection with 123.125.71.103 [123.125.71.103] ended. ::: END Web
6/13/2015 12:01:24 AM - 563 - START POP3 ::: Requested POP3 connection from 10.127.251.37 [10.127.251.37] ::: USER [email protected] ::: POP3 connection with 10.127.251.37 [10.127.251.37] ended. ::: END POP3
6/13/2015 12:01:24 AM - 564 - START POP3 ::: Requested POP3 connection from 10.127.251.37 [10.127.251.37] ::: USER [email protected] ::: POP3 connection with 10.127.251.37 [10.127.251.37] ended. ::: END POP3