本帖最后由 bokugy 于 2012-02-13 16:56 编辑
file1 文件:
cat file1
100,test001,A21001,A22001,A23001
100,test002,A21002,A22002,A23002
300,test003,A21003,A22003,A23003
500,test004,A21004,A22004,A23004
700,test005,A21005,A22005,A23005
cat file2
100,20120210, AA010,test001,123,1000.00
300,20120211, AA010,test003,123,2000.00
700,20120212, AA010,test005,123,3000.00
规则:比较file1的第一列与file2的第一列和file1的第二列与file2的第四列,如果相等,将file1的第三,四,五列插入到file2的第五六列之间。输出到file3。
想要的结果如下:
cat file3
100,20120210, AA010,test001,123,A21001,A22001,A23001,1000.00
300,20120211, AA010,test003,123,A21003,A22003,A23003,2000.00
700,20120212, AA010,test005,123,A21005,A22005,A23005,3000.00
我的写法如下:
awk -F"," 'NR==FNR{a[$1]=$1,a[$2]=$2,a[$3]=$3,a[$4]=$4,a[$5]=$5}NR>FNR{print $1","$2","$3","$4","$5","a[$3]","a[$4]","a[$5]","$6}'file1 file2 > file3
可是却得到如下结果:
cat file3
100,20120210, AA010,test001,123,,,A21001,1000.00
300,20120211, AA010,test003,123,,,A21003,2000.00
700,20120212, AA010,test005,123,,,A21005,3000.00
跪求高手指正我的错误,叩谢啊! |