免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1803 | 回复: 3
打印 上一主题 下一主题

[Linux] linux,关于两个文件合并(合并后需要进行判断,和函数运算) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-04-22 14:23 |只看该作者 |倒序浏览
本帖最后由 haoran0601 于 2015-04-22 14:56 编辑

这是第一个文件a.txt

18697398132        许昌,3M,5
13271271690        许昌,3M,5
13233918383        洛阳,6Y,5
18637400398        许昌 ,3M,5
15517928524        洛阳,3M,5

这是第二个文件b.txt

13213810550        平顶山,3M,5
13148230117        周口,3M,5
18637885407        开封 ,3M,5
15639671221        驻马店 ,3M,5
15517928524        洛阳,6M,5

要求合并这两个文件
1、第一,第二列去掉重复,
2、第三列进行判断,如果有相同的行以6Y>6M>3M的优先级,只保留一个值
3、第四列有相同的行时,值相加(其中最后一列值都为5)

最终想要的结果为:
18697398132        许昌 ,3M, 5
13271271690        许昌 ,3M,5
13233918383        洛阳 ,6Y,5
18637400398        许昌  ,3M,5
13213810550        平顶山  ,3M,5
13148230117        周口 ,3M,5
18637885407        开封 ,3M,5
15639671221        驻马店 ,3M,5
15517928524        洛阳 ,6M,10

求大神帮忙,小弟我头都大了

论坛徽章:
0
2 [报告]
发表于 2015-04-22 14:31 |只看该作者
先进行合并:cat a.txt b.txt>ab.txt
第一第二列去掉重复可以这样:
1、awk '{print $1,$2}' ab.txt >tmp.txt
2、awk '!a[$0]++' tmp.txt >po.txt(去掉重复行)
剩下的就不会了。。。

求职 : 机器学习
论坛徽章:
79
2015年亚洲杯纪念徽章
日期:2015-05-06 19:18:572015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之阿尔纳斯尔
日期:2015-09-07 09:30:232015亚冠之萨济拖拉机
日期:2015-10-21 08:26:3915-16赛季CBA联赛之浙江
日期:2015-12-30 09:59:1815-16赛季CBA联赛之浙江
日期:2016-01-10 12:35:21技术图书徽章
日期:2016-01-15 11:07:2015-16赛季CBA联赛之新疆
日期:2016-02-24 13:46:0215-16赛季CBA联赛之吉林
日期:2016-06-26 01:07:172015-2016NBA季后赛纪念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16赛季CBA联赛之浙江
日期:2017-07-18 13:41:54
3 [报告]
发表于 2015-04-22 14:34 |只看该作者
需求感觉没有说清楚,给出你想要的最终结果

论坛徽章:
0
4 [报告]
发表于 2015-04-22 14:57 |只看该作者
回复 3# zsszss0000


    已在题目中重新给出,请大哥察看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP