我有一些以下格式的输入文件:
File1.txt File2.txt File3.txt
1 2 1 6 1 20
2 3 2 9 2 21
3 7 3 14 3 28现在我需要使用AWK输出一个新的包含三列的单个文件,第一列保持不变,三个文件中的第一列也是相同的(只是一个序号)。
然而,对于这个新创建的文件的第二列和第三列,我需要计算第二个文件的第二列的值除以第一个文件的第二列的值,以及第三个文件的第二列的值除以第一个文件的第二列的值。换句话说,第二个和第三个文件的第二列除以第一个文件的第二列。例如:
Result.txt
1 3 10
2 3 7
3 2 4 发布于 2015-11-05 21:47:23
使用多维矩阵来存储值:
awk 'FNR==NR {a[$1]=$2; next}
{b[$1,ARGIND]=$2/a[$1]}
END {for (i in a)
print i,b[i,2],b[i,3]
}' f1 f2 f3测试
$ awk 'FNR==NR {a[$1]=$2; next} {b[$1,ARGIND]=$2/a[$1]} END {for (i in a) print i,b[i,2],b[i,3]}' f1 f2 f3
1 3 10
2 3 7
3 2 4https://stackoverflow.com/questions/33545914
复制相似问题