我有一些以下格式的输入文件:
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输出一个新的单个文件,第一列保持不变,三个文件中的相同(只是一个序数)。
然而,对于这个新创建的文件的第2和第3列,我需要第二个文件的第2列的值除以第1个文件的第2列的值,也需要第2个列的值。第三个文件除以第一个文件的第二列的值。换句话说,第二和第三文件的第二列除以第一个文件的第二列。 e.g:
Result.txt
1 3 10
2 3 7
3 2 4
答案 0 :(得分:0)
使用多维矩阵存储值:
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 4