我有这样一个日志:
Line 107758: [LOG] New acqusition CNT=48497 EPOCH=1516696452
Line 107767: [LOG] New acqusition CNT=48498 EPOCH=1516696453
Line 107776: [LOG] New acqusition CNT=48499 EPOCH=1516696454
Line 107785: [LOG] New acqusition CNT=48499 EPOCH=1516696455
Line 107794: [LOG] New acqusition CNT=48501 EPOCH=1516696456
Line 107803: [LOG] New acqusition CNT=48502 EPOCH=1516696457
Line 107812: [LOG] New acqusition CNT=48503 EPOCH=1516696458
有 15000 多行。我感兴趣的是打印出 CNT 值不连续的行(即 48499-48501)。
我可以通过编写软件或脚本来实现这一点。我想知道是否有一个 bash 命令可以帮助我,而无需手动执行。
“手动意味着”:
- 解析一行并将 CNT 值存储在变量中
- 解析 line+1 并将 CNT 值存储在另一个变量中
- 比较两者并检查其值
- 如果匹配,则打印出值
- 将 line+1 的值复制到 line 变量中
- 继续下一行