如何比较2个文件?我需要将一个linux文件的列与另一个文件的第二列进行比较,然后得到差异。
我们说我有以下文件。
文件1:
a 3
b 6
c 8
d 7
g 5
p 16
文件2:
a 1
b 6
c 8
d 7
g 5
我需要将文件1的第二列与文件2的第二列进行比较,然后得到差异。
所需的输出文件1 - 文件2:
a 2
b 0
c 0
d 0
g 0
p 16
答案 0 :(得分:1)
这个awk单行程适用于您的示例:
awk 'NR==FNR{a[$1]=$2;next}{print $1,a[$1]-$2;delete a[$1]}
END{for(x in a)print x, a[x]}' file1 file2