gpt4 book ai didi

linux - 比较日志中的纪元时间戳并检查列表中的前一个时间戳和当前时间戳之间是否经过了 x 时间

转载 作者:行者123 更新时间:2023-12-03 09:53:44 25 4
gpt4 key购买 nike

例如,我有一个日志文件,其中包含一系列纪元 19 位时间戳

1603871402884765526
1603871402884859949
1603871402885343431
1603871402885403005
1603871402932368738
1603871402932735285
1603871402932741891
1603871402932785964
1603871402934480339
1603871402934539183

我想遍历此列表,并将列表中的前一个时间戳与当前时间戳进行比较,如果发生了 x 个不活动持续时间,则回显一条消息,例如:

diff=$(( $previoustimestamp - $currenttimestamp ))
if [ $diff -gt 5000000000 ]
then
echo "Inactivity between $previoustimestamp and $currenttimemstap: $diff nanoseconds"
continue
else
continue
fi

遍历列表以使当前时间戳变为之前的时间戳等直到到达列表末尾的最有效方法是什么?

非常感谢

最佳答案

我建议使用这个简单的awk:

awk -v delta='400000' 'NR > 1 {
diff = $1 - prev
if (diff > delta)
print "Inactivity between", prev, "and", $1 ":", diff, "nanoseconds"
}
{
prev = $1
}' file.txt
Inactivity between 1603871402884859949 and 1603871402885343431: 483584 nanoseconds
Inactivity between 1603871402885403005 and 1603871402932368738: 46965760 nanoseconds
Inactivity between 1603871402932785964 and 1603871402934480339: 1694464 nanoseconds

您可以在参数中调整您想要的 delta 值。

关于linux - 比较日志中的纪元时间戳并检查列表中的前一个时间戳和当前时间戳之间是否经过了 x 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64610298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com