我有一个文件:
Time= 12:40:41, value = 1, data=2, data2=4,timeEnter=12:34:34
Time= 12:40:41, value = 2, data=2, data2=4,timeEnter=12:34:34
Time= 12:40:41, value = 3, data=2, data2=4,timeEnter=12:34:34
Time= 12:40:41, value = 4, data=2, data2=4,timeEnter=12:34:34
...
...
Time= 12:40:41, value = 123456, data=2, data2=4,timeEnter=12:34:34
Time= 12:40:41, value = 123457, data=2, data2=4,timeEnter=12:34:34
Time= 12:40:41, value = 123458, data=2, data2=4,timeEnter=12:34:34
Time= 12:40:41, value = 123459, data=2, data2=4,timeEnter=12:34:34
我想使用 Cat | 读取此文件grep awk。 并希望能够使用这些组合来运行命令,以检查“值”部分中的每个数字是否在下一行中增加 1。 如果无论如何都没有遵循这一点,我希望能够看到这一点。
到目前为止:我陷入了困境: $ Cat 文件名 | awk -F "= "'{print $4}'
谢谢
最佳答案
Perl 解决方案:
perl -ne 'next unless /value = ([0-9]+)/;
print "$.: $_" if 1 + $value != $1;
$value = $1' -- file.name
-n
逐行读取输入- next如果没有要检查的值,则跳过处理该行。
$value
保留上一行的值。如果捕获的值不等于旧的一加一,则打印行号 ($.
) 和行 ($_
)。
关于linux - Bash 脚本 (awk-sed-grep) 检查下一行中的数字是否比上一行多 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47670512/