【发布时间】:2017-04-18 05:34:43
【问题描述】:
是否可以使用 awk 执行以下操作?
例如,我有两个矩阵;
文件1,两个变量
1 red big
2 blue small
3 yellow big
4 grey big
5 black small
文件2,两个变量:
1 yellow 17
2 red 22
3 blue 15
4 violet 32
我想获得:
1 red big 22
2 blue small 15
3 yellow big 17
4 grey big
5 black small
6 violet 32
我试过这个:awk 'NR==FNR {h[$2] = $3; next} {print $1,$2,$3,h[$2]}' File 2 File 1 > File 3 虽然它不包含第二个文件的变量。
【问题讨论】:
-
所以你想在file1的所有行之后添加file2中而不是file1中的键来结束?试试
awk 'NR==FNR {h[$2] = $3; next} {print $0,h[$2]; delete h[$2]} END{for (k in h){print ++FNR, k, h[k]}}' file2 file1...