求助,关于文件合并
时间: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.△代表空格
输出文件:文件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是吧 ?
你的意思是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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28