下面是一个用Awk比较两个文件并匹配两列,在第三列之间获取百分比差异的代码示例:
awk 'FNR==NR {arr[$1,$2]=$3; next} ($1,$2) in arr {diff = $3 - arr[$1,$2]; percent_diff = (diff / arr[$1,$2]) * 100; print $1,$2,diff,percent_diff}' file1.txt file2.txt
假设file1.txt
和file2.txt
是两个要比较的文件,每个文件有三列数据。代码首先读取file1.txt
,将第一列和第二列作为键,第三列作为值存储在一个数组arr
中。然后,代码读取file2.txt
,对于每一行,如果在arr
中找到相同的键,则计算第三列的差异和百分比差异,并打印出来。
请注意,此代码假设file1.txt
和file2.txt
具有相同的行数和相同的键。如果两个文件的行数或键不匹配,代码可能会产生意外结果。