+ -
当前位置:首页 → 问答吧 → 求助,关于文件合并

求助,关于文件合并

时间:2011-04-12

来源:互联网

输入文件:文件A,文件B
输出文件:文件C

文件A
000000000,1,2,3
111111111,4,5,6
222222222,7,8,9
333333333,2,2,5
444444444,1,3,5

文件B
000000000,AA,BBBBBBBBBB,CCCCCCCCCC
444444444,DD,EEEEEEEEEE,HHHHHHHHHH

文件C
000000000,1,2,3,AA,BBBBBBBBBB,CCCCCCCCCC
111111111,4,5,6,△△,△△△△△△△△△△,△△△△△△△△△△
222222222,7,8,9,DD,EEEEEEEEEE,HHHHHHHHHH
333333333,2,2,5,△△,△△△△△△△△△△,△△△△△△△△△△
444444444,1,3,5,△△,△△△△△△△△△△,△△△△△△△△△△


以文件A第一个字段作为key,对文件B第一个字段进行匹配,如果相同则在文件A的当前行末尾插入文件B第一个逗号后的三个字段
如果不存在则在文件A的当前行末尾插入以空格填充的三个字段(三个字段长度分别和文件B的第一个逗号后的3个字段相同)

备注:
1.文件A和文件B第一个字段位数相同,9位
2.文件B第一个逗号后三个字段位数固定,分别为2位,10位,10位
3.文件A行数>=文件B行数
4.△代表空格

作者: johnnine   发布时间: 2011-04-12

回复 johnnine


    你的意思是A B合并为C是吧 ?

作者: 南极雨   发布时间: 2011-04-12

awk 'NR==FNR{a[$1]=$0}NF>FNR{if($1 in a) print a[$0]" "$0 }' a b
试试...

作者: 南极雨   发布时间: 2011-04-12