我有一个这样的格式化文件:
1 223614 225119.537745 Engine45
2 223614 225121.082392 Engine45
3 223614 225124.440309 Engine45
4 223614 225124.763890 Engine45
5 223621 225124.933927 Engine46
6 223614 225124.934205 Engine45
7 223614 225125.354857 Engine45
8 223614 225127.603434 Engine45
.
.
.
我正在尝试制作一个 awk/shell,它需要 1)验证第 2 列和第 4 列是否在同一行中相等,如果适用,则 2)用第一个找到的列 1 减去第 2 列上的第二个找到的值,应该是这样的:
1) 找到的第一行:
1 223614 225119.537745 Engine45
1) 找到的第 2 行:
2 223614 225121.082392 Engine45
输出应该是这个的答案:
225121.082392 - 225119.537745 = 1.544647
下一个输出应该是:
第 3 行按 1) 查找:
3 223614 225124.440309 Engine45
第 4 行按 1) 查找:
4 223614 225124.763890 Engine45
输出:225124.763890 - 225124.440309 = 0.323581
并依次提供文件中的所有记录。
我相信 1) 我可以让它工作,但是 2) 对我来说真的越来越难了,但是如果有人可以指导如何获得可能会非常有用,我知道 shell 和 awk 的基础知识是否有帮助,但我很开放在 perl 等其他工具上完成。
问候