找回密码
 加入
搜索
查看: 3350|回复: 10

AU3如何进行快速文本比较?

[复制链接]
发表于 2008-9-22 09:52:32 | 显示全部楼层 |阅读模式
以下是借鉴本论坛某大侠的文本比较,可以实现2个文本的比较,但效率非常低,如果比对上万行或大几千行的文本非常的慢,而且对机器资源消耗很大,各位大侠有没有更好的解决办法?

另:我这样做的目的是为了从事先生成的两个文件列表进行比对,确定需要删除的文件列表:

#include <File.au3>
#include <Array.au3>
        Func _FileListCompare($hSouce,$hTarget,$hOutPut)
        $hLine_S = _FileCountLines($hSouce)
        $hCon_T = FileRead($hTarget)
        For $hSi = 1 To $hLine_S
                $hS_String = StringSplit(FileReadLine($hSouce,$hSi),"|")
                If Not StringInStr($hCon_T,$hS_String[1]) Then
                        FileWriteLine($hOutPut,$hS_String[1])
                EndIf
        Next
        EndFunc

_FileListCompare("file.crc","aaa.txt","del.log")
发表于 2008-9-22 16:16:02 | 显示全部楼层
最好是用dll取得md5值之后再比较文件.准确率高多了.
而且效率也大幅提升
 楼主| 发表于 2008-9-23 09:07:38 | 显示全部楼层
2楼没有理解我的意思

我并不是要得知2个文件是否有区别,而是找到差异的行,保存在另外一个文本中
发表于 2008-9-23 17:37:18 | 显示全部楼层
楼主。至少在下认为用AU3来做这类事,是不明智的..

有时间学习下VC、Delphi之类的开发工具
发表于 2008-9-23 20:04:36 | 显示全部楼层
用PB吧。。。AU3处理大文件,太耗时了。
发表于 2008-9-23 21:16:14 | 显示全部楼层
这类比较最好是交给文本编辑类软件 非常简单
 楼主| 发表于 2008-9-24 23:35:50 | 显示全部楼层
我自己想到了一个办法,用xp中自带的命令 FC

要比较的文件:

1.txt 内容如下:

line1
line2
line3
line4
line5
line8
line9
line10

2.txt 内容如下:


line3
line4
line5
line8
line11
line12

Fc 1.txt 2.txt >>3.txt

输出如下:

正在比较文件 1.txt 和 2.TXT
***** 1.txt
line1
line2
line3
line4
***** 2.TXT
line3
line4
*****

***** 1.txt
line8
line9
line10
***** 2.TXT
line8
line11
line12
*****

FC的比对算法非常的快,比对10M以内5万行左右的2个文本仅用时1分钟左右
FC的输出结果总有部分重复的部分,这个有办法去掉吗?调用FC来比较,然后用Au3来删除重复的行就可以达到快速文本比对的目的,请高人指点啊~
发表于 2008-9-25 01:26:08 | 显示全部楼层
用BC2吧。
发表于 2008-9-26 21:34:25 | 显示全部楼层
bc2是什么?
发表于 2010-2-8 03:22:04 | 显示全部楼层
期待高人回答,本人也正在找这类东西
发表于 2010-2-8 07:55:00 | 显示全部楼层
Beyond Compare2


  
Beyond Compare 是一套非常实用的文件及文件夹比较软件,不仅可以快速比较出两个文件夹的不同之处,还可以详细的比较文件之间的内容差异。程序内建了文件浏览器,方便您对文件、文件夹、压缩包、FTP网站之间的差异对比以及资料同步。您可以使用它管理程序源代码,同步文件 夹,比较程序输出,及验证光盘的复制。它还支持脚本处理、支持插件,尤其对中文支持很好。

软件有两套帮助系统,一个是外部的 CHM帮助文件,可以在帮助菜单中调用,另外一个就是内建的非常强大的上下文提示功能,算作是另一套帮助系统,在软件的各种设置里,如果看到关闭按钮附近有一个“?”按钮,您便可以按F1键获取详尽的中文说明。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-11 20:26 , Processed in 0.078490 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表