使用linux命令及c++编程处理大数据量文件对比

这一段时间以来,之前忙着项目验收,现在又开始实习了,长时间不动笔博客的事情慢慢冷落了下来,似乎也没有刚开始时的求知欲及更新欲了。惰性真是个可怕的东西。

言归正传,在电信打酱油的这一段时间以来,一直无所事事,让我很矛盾今后的职业规划问题:到底是进个相对轻松但略感空虚的运营商还是进个崇尚奋斗时刻充实的技术公司?我想这个问题还将困扰我很久。

今天,一同实习的同学找我帮忙解决一个问题:他们老师让她比对一些表格文件,核对其中有无重复的数据,由于文件众多且数据量太大,她想通过编写程序来进行比对。经详细了解,大致知道了他们老师的需求:

这些表格文件都是需要成对比对的,但每个表格的数据量很大,表格里的数据分别是江苏省电信用户的帐号信息及全国电信用户的帐号信息,现需要知道江苏电信用户的帐号信息有多少出现在了全国电信用户帐号信息的表格内,并找出这些相同的号码。

大概查看了下两个表格,首先想到要先处理下俩表格的数据:既然是查找江苏省的号码在全国里出现与否那全国里那些不是江苏的帐号肯定是无用的----江苏的号码不可能跟其他省的号码重复的!因此首先将全国帐号信息里是江苏的复制出来(当然表格里备注有各个地区)。 这一步没想到有什么方便点的招,好几千个滚轮还是拉了好久的。

现在俩表格的数据量要比原始要少了些,分别将其进行排序,徘完序的话,比较起来又要轻松很多。排序在linux环境下很方便:

sort 全国号段.txt

sort 本省号段.txt

处理完这,还有一个讨厌的地方在于,全国号段里的号码全是带86前缀的号码,本省号段都不带,因此必须要去掉86前缀,手动去除几千条不得累死&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值