Awk 2个文件,匹配列并从2列中减去
我有两个文件,我想做一些减法 文件1Awk 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
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,那么您的实际输入看起来与问题中的输入不一样,因此请修正您的问题以说明您得到的实际结果,或者修正示例以更好地表示您的实际数据。