Вычисление разницы во времени с записями в файле журнала

С awk:

awk '{ a[$2]+=$1 } END{ for(i in a) print a[i],i }' file

Вывод:

434 teste
470 teste/teste1/teste2
202 teste/teste1
0
27.05.2018, 08:26
2 ответа

Con awkpuedes hacer como:

awk -F"[-,)]" '$(NF-1)-$5 >2000' infile
2017-01-27 object2(sendtime-1486743904800,recdtime-  1486743908000)

Aquí definimos conjuntos de guión, espacio, coma y paréntesis de cierre como separadores de campos.

para responder a la pregunta revisada, intente:

awk -F"[-,]" '/sendobject/ && $18-$15 >2000' infile
2
28.01.2020, 02:23

Una variante de la respuesta de @αғsнιη:

awk -F'(sen|rec)dtime-' 'NF==3 && $3 - $2 > 2000'

O, si los registros contienen todo tipo de líneas además de estas, podría ser aún más restrictivo al hacer coincidir la entrada conperl:

perl -ne 'print if m{
    ^\d{4}-\d\d-\d\d\s+
    object\d+\(
       sendtime-(\d+)\s*,
       recdtime-\s*(\d+)
    \)$}x && $2 - $1 > 2000'
1
28.01.2020, 02:23

Теги

Похожие вопросы