免费注册 查看新帖 |

Chinaunix

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

大文件比较,比较难办 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-14 15:25 |只看该作者 |倒序浏览
请问:有两个从数据库load出来的文件,大约100M,几十万的数据,现在要比较这两个文件里的记录是否一一相等。并得出差异文件。
如:
A
1|2|3|4|5|6
1|2|3|4|4|4
1|1|1|5|5|5

B
1|2|3|4|5|6
1|2|3|4|4|5
1|1|1|5|5|5

比较条件在配置文件里:
C
1|2|3
1|1|1

比较时候先根据C中KEY,确定A B的记录,然后再用A B互相比较。每个项相等就表示A B的记录相等。
如:
1’    C中1|2|3 得出A中符合记录是:
1|2|3|4|5|6
1|2|3|4|4|4
2‘    C中1|2|3 得出B中符合记录是:
1|2|3|4|5|6
1|2|3|4|4|5
3’    然后在A B中符合C的KEY的项目比较,得出
相等项目是:
1|2|3|4|5|6
A有,B没有是:
1|2|3|4|4|4
A无,B有的是:
1|2|3|4|4|5


这两个文件比较大,有什么方法能比较快的吗?
请各位大大指点,哪怕是思路指点也行。谢谢大伙拉。

论坛徽章:
0
2 [报告]
发表于 2008-04-14 16:01 |只看该作者
100M不算很大

论坛徽章:
0
3 [报告]
发表于 2008-04-14 16:05 |只看该作者

回复 #1 liang573728 的帖子

先根据C,分别从A,B里提出满足条件的列,按照自然排序分别存为A.sort ,B.sort, 然后
system("diff A.sort B.sort > result.txt");
争对result.txt,看看规律,然后提出来.(此法只适用于linux)

论坛徽章:
0
4 [报告]
发表于 2008-04-14 16:17 |只看该作者
原帖由 smonkey0 于 2008-4-14 16:05 发表
先根据C,分别从A,B里提出满足条件的列,按照自然排序分别存为A.sort ,B.sort, 然后
system("diff A.sort B.sort > result.txt");
争对result.txt,看看规律,然后提出来.(此法只适用于linux)

谢谢。差点忘记diff了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP