我使用的是 Linux,我需要打印该行以及与文件中相同字符串匹配的连续 2 行。
这是我的例子: 当两辆车以相同的速度行驶时,我想显示汽车的速度+时间
我的文件:
时间:10:15
car1 - 速度 120
car2 - 速度 120
时间:10:17
car16 - 速度 89
car3 - 速度 102
时间:10:26
car7 - 速度 56
car15 - 速度 56
时间:10:36
car9 - 速度 115
car4 - 速度 100
<小时/>因此,我想要的结果是:
时间:10:15
car1 - 速度 120
car2 - 速度 120
时间:10:26
car7 - 速度 56
car15 - 速度 56
<小时/>非常感谢任何帮助。
提前谢谢
最佳答案
使用sed
非常简单 - 我们可以使用N
(将下一行输入附加到模式空间)来读取三行,并使用反向引用\1
来测试速度是否相等:
sed -n '/time/N;/speed/N;/speed \(.*\)\n.*speed \1$/p'
关于python - 在连续两行中打印字符串匹配之前的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59819821/