忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 3116 | 回复: 4

[文本处理] 文件合并问题 [复制链接]

论坛徽章:
0
发表于 2018-03-08 09:41 |显示全部楼层
文件1.txt,有很多列

a 1 4 5 6 ...
b 4 5 7 8 ...
c 3 3 1 0 ...
d 0 9 7 1 ...


文件2.txt,
a
c
e

希望将文件1 和文件2进行合并,1中没有的标签,用0替代,
最终形成的文件:
a 1 4 5 6 ...
c 3 3 1 0 ...
e 0 0 0 0 ...

谢谢大家
打赏鼓励一下!

论坛徽章:
13
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之青岛
日期:2018-06-08 13:45:2815-16赛季CBA联赛之同曦
日期:2018-06-04 19:42:2015-16赛季CBA联赛之山东
日期:2018-05-30 12:44:59CU十四周年纪念徽章
日期:2018-05-15 11:36:3815-16赛季CBA联赛之广东
日期:2018-05-14 09:52:4215-16赛季CBA联赛之深圳
日期:2018-05-04 21:53:0815-16赛季CBA联赛之辽宁
日期:2018-04-02 14:03:3915-16赛季CBA联赛之北京
日期:2018-03-23 15:24:07CU十四周年纪念徽章
日期:2018-03-16 13:09:532016科比退役纪念章
日期:2018-01-19 12:45:5915-16赛季CBA联赛之同曦
日期:2017-09-11 14:39:48
发表于 2018-03-08 11:34 |显示全部楼层
  1. awk 'FILENAME==ARGV[1]{a[$1]=$0;b=NF-1;next}{if(a[$1]){print a[$1]}else{for(i=1;i<=b;i++){c=c?c" 0":"0"};print $1" "c}}' 1.txt 2.txt
复制代码

1人打赏

论坛徽章:
130
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
发表于 2018-03-08 14:03 |显示全部楼层
回复 1# 蓝色未央

$ awk 'FNR==NR{a[$1]=$0;if(NR==1){NF--;gsub("[^ ]+","0");z=$0};next}{if($1 in a)print a[$1];else print $1,z}' 1.txt 2.txt
a 1 4 5 6
c 3 3 1 0
e 0 0 0 0

论坛徽章:
0
发表于 2018-03-08 16:19 |显示全部楼层
回复 2# wh7211


谢谢大神

论坛徽章:
0
发表于 2018-03-08 16:20 |显示全部楼层
回复 3# jason680


谢谢大神
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP