查找两个文件中的差异

查找两个文件中的差异

我有两个如下文件:file1.txt

a 2019 15
b 2019 20

文件2.txt

a 2020 10
b 2019 15

file1.txt 的所需输出内容和 diff bw 第三列(来自 file1 和 file2)相对于文件 1 的第一列)

  a 2019 5
  b 2019 5

答案1

这是执行此操作的一行代码。

join file1.txt file2.txt | awk '{print $1,$2,$3-$5}'

join命令首先将相关值放在同一行上,如下所示:

[gnubeard@mothership: ~/diffy]$ join file{1,2}.txt
a 2019 15 2020 10
b 2019 20 2019 15

然后,awk打印第一列($1,例如a)、第二列($2,例如2019),以及第三列的值减去第五列的值($3-$5,例如15 - 10。)

结果似乎与您想要的输出相匹配:

[gnubeard@mothership: ~/diffy]$ join file{1,2}.txt | awk '{print $1,$2,$3-$5}'
a 2019 5
b 2019 5

相关内容