Awk 2个文件,匹配列并从2列中减去

Awk 2个文件,匹配列并从2列中减去,awk,Awk,我有两个文件,我想做一些减法 文件1 device1 IF-MIB::ifInErrors.10023 = 102030 device2 IF-MIB::ifInErrors.10026 = 1450 文件2 device1 IF-MIB::ifInErrors.10023 = 102034 device2 IF-MIB::ifInErrors.10026 = 1460 期望输出 device1 IF-MIB::ifInErrors.10023 = 4 device2 IF-MIB::ifI

我有两个文件,我想做一些减法

文件1

device1 IF-MIB::ifInErrors.10023 = 102030
device2 IF-MIB::ifInErrors.10026 = 1450
文件2

device1 IF-MIB::ifInErrors.10023 = 102034
device2 IF-MIB::ifInErrors.10026 = 1460
期望输出

device1 IF-MIB::ifInErrors.10023 = 4
device2 IF-MIB::ifInErrors.10026 = 10
尝试了一些awk的例子,我得到的都是1

join file1 file2 | awk '{print $1, $7-$5}' > test
试试这个:

join -t= file1 file2 | awk -F'=' '{print $1 "= " $3-$2}' > test

我使用=作为join和awk的分隔符

您确定得到的是
1
s吗?还有其他问题,但算术将失败,因为您对字段进行了错误计数(应该是
$7-$4
而不是
$7-$5
),但这将输出
102034
1460
,它不会输出
1
s。如果您得到的是
1
s,那么您的实际输入看起来与问题中的输入不一样,因此请修正您的问题以说明您得到的实际结果,或者修正示例以更好地表示您的实际数据。