我有1个文件名file1.txt
cat file1.txt
| 6| 10|
| 7| 20|
| 8| 41|
| 10| 40|
| 11| 40|
| 12| 50|
| 13| 70|
| 15| 80|
cat file2.txt:
| 6| 10|
| 7| 30|
| 8| 81|
| 10| 90|
| 11| 60|
| 12| 0|
| 13| 70|
| 15| 80|
我必须比较这两个文件和每列我以获取信息作为delta在两个文件中的值不应超过5,例如:
对于文件1:6 | 10
,对于file2 6 | 10
,
但是对于文件1和文件2中的下一个值7 | 20
,它是7| 30
,
所以我的目标是找出这两个文件之间的区别,如果delta是更高的打印结果。
有人可以指导我。
答案 0 :(得分:1)
我不完全明白你的意思是“更高”,但这是一个很好的起点
join file1.txt file2.txt -j 2 -t "|" | sed -e 's/|//g' | awk '{print $1,$2,$3,$2-$3}'
6 10 10 0
7 20 30 -10
8 41 81 -40
10 40 90 -50
11 40 60 -20
12 50 0 50
13 70 70 0
15 80 80 0
基本上,我使用key作为第一列合并了2个文件,然后使用awk在最后进行一些处理。请告诉我们您对最终数据的要求,以便我们尽力提供帮助。