尋找兩個文件中的差異

尋找兩個文件中的差異

我有兩個如下檔案: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

相關內容