检查文件中变量的增量一致性

检查文件中变量的增量一致性

我正在使用 cygwin,并且有一些使用 grep 编写脚本的经验。它使我有可能在巨大的日志文件中找到一些特定的字符串。现在我面临下一个挑战,但不知道如何解决。基本上我想检查文件中的一个数字,与前一行中的数字相同。考虑以下文件:

跟踪日志文件

此消息中的第二列是相对时间(以毫秒为单位)。

我想检查与之前值的差异。我想显示差异大于 50 毫秒 (717 - 667 > 50) 的事件

有人知道该怎么做吗?我使用 grep 的方式是在一个洞中过滤完整的文件。它很棒而且很强大,但现在我不能在这里使用它。

答案1

这是一个典型的工作awk

awk '$2 - prev > 50; {prev = $2}' < file

或者只考虑第二个字段中有数字的行并跳过带有数字的第一行:

awk 'prev != "" && $2 - prev > 50; $2 ~ /[0-9]/ {prev = $2}' < file

相关内容