- 论坛徽章:
- 0
|
本帖最后由 antonym55 于 2015-02-07 17:07 编辑
file1
no1 name1
no2 name2
no3 name2
no4 name3
no5 name4
no6 name4
no7 name4
no8 name5
no9 name6
no10 name6
file2
name1 data1 dada2 data3 data4 dada5
name2 dada6 data7 dada8
name3 data9 dada10 data11 dada12
name4 data13 dada14
name5 data15 dada16
name6 data17 data18
如果file1的第2列跟file2的第1列匹配,则将两条数据合并成一条,合并后的数据应该是这样的:
no1 name1 data1 dada2 data3 data4 dada5
no2 name2 dada6 data7 dada8
no3 name2 dada6 data7 dada8
no4 name3 data9 dada10 data11 dada12
no5 name4 data13 dada14
no6 name4 data13 dada14
no7 name4
no8 name5 data15 dada16
no9 name6 data17 data18
no10 name6 data17 data18
程序:
awk 'NR==FNR{a[$1]=$0}NR>FNR{print $1" "a[$2]}' file2 file1
用命令行结果不是这样的,gawk 是3.1.7,用gawk.exe 3.1.6就是文档中的结果
改成 x.awk, 结果就完全不同了
BEGIN{
}
{
if (NR==FNR)
{
a[$1]=$0;
}
if (NR>FNR)
{
print $1" "a[$2]
}
}
END{
}
我想用x.awk 得到文档中的结果,请问该怎么修改?谢谢!
|
|