忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 369 | 回复: 2

[文本处理] 求解,如何匹配用a文件匹配b文件,然后替换 [复制链接]

论坛徽章:
0
发表于 2017-06-01 09:44 |显示全部楼层
cat a.txt
a yiselie
b riben
c zhongguo
d hanguo
e meiguo


cat b.txt
c eluosi
e jianada


============
想要的结果是
a yiselie
b riben
c eluosi
d hanguo
e jianada


请问这个使用bash/sed/awk 如何实现,请高手指点,谢谢

论坛徽章:
120
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07巳蛇
日期:2014-05-09 16:43:18巨蟹座
日期:2014-10-23 17:48:38子鼠
日期: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
发表于 2017-06-01 10:16 |显示全部楼层
回复 1# caowenqq17

$ awk 'FNR==NR{a[$1]=$2;next}{if(a[$1])$2=a[$1];print}' b.txt a.txt
a yiselie
b riben
c eluosi
d hanguo
e jianada

论坛徽章:
1
15-16赛季CBA联赛之江苏
日期:2016-10-26 16:19:04
发表于 2017-07-16 17:22 |显示全部楼层
awk 'NR==FNR{a[$1]=$0;next}{a[$1]=$0}END{for(i in a)print a[i]}' file1 file2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP