由于一些SVN运动,当我处于一个相当大的增强中间时,我与SVN断开连接.
现在我有我当前的工作区(更改并与SVN断开连接)和新工作区(最新的SVN).
我需要使用更改手动更新新工作区,以便我可以检查它们.
所以我正在寻找一种工具,可以让我比较两个工作区,告诉新文件和文件夹以及更新文件.
这样的工具是否存在?如果是这样,你能推荐一个好的吗?
有两个名为"a.txt"和"b.txt"的文件都有一个单词列表.现在我想检查"a.txt"中哪些单词是额外的,而不是"b.txt".
我需要一个有效的算法,因为我需要比较两个词典.
在Ruby 1.8中,我将从"ftools"库中调用File.compare()来轻松比较两个文件的内容.
但是,在Ruby 1.9中,"ftools"被"fileutils"取代,后者没有"比较"方法.什么是等效电话?
将两个十六进制文件签名相互比较以获得相似性的最佳方法是什么.
更具体地说,我想要做的是采用.exe文件的十六进制表示形式,并将其与一系列病毒签名进行比较.对于这种方法,我计划将文件(exe)十六进制表示分成N个字符的单独组(即10个十六进制字符),并对病毒签名执行相同操作.我的目标是执行某种启发式方法,因此统计检查此exe文件是否与已知病毒签名具有X%的相似性.
我想到的最简单也可能非常错误的方法是将exe [n,n-1]与病毒[n,n-1]进行比较,其中数组中的每个元素都是一个子数组,因此exe1 [0, 9]针对病毒1 [0,9].每个子集将进行统计分级.
你可以意识到会有大量的比较,因此非常慢.所以我想问一下你们是否可以想出一个更好的方法来进行这样的比较,例如一起实现不同的数据结构.
这是我正在为我的BSc做的一个项目,我正在尝试开发一种算法来检测多态恶意软件,这只是整个系统的一部分,另一部分是基于遗传算法来发展静态病毒签名.任何建议,意见或资源等一般信息都是非常受欢迎的.
定义:多态恶意软件(病毒,蠕虫,......)与"原始"版本保持相同的功能和有效负载,同时具有明显不同的结构(变体).他们通过代码混淆实现了这一点,从而改变了他们的十六进制签名.用于多态的一些技术是; 格式更改(插入删除空格),变量重命名,语句重新排列,垃圾代码添加,语句替换(x = 1更改为x = y/5,其中y = 5),交换控制语句.非常像流感病毒变异,因此疫苗接种无效,多态恶意软件会发生变异以避免检测.
更新:建议你们给我关于阅读的内容; 我做到了,但它让我更加困惑.我找到了几种可以应用于我的问题的距离算法,例如;
但现在我不知道使用哪个,他们似乎都以不同的方式做同样的事情.我将继续做研究,以便我能更好地理解每一个; 但同时你可以给我你的意见,which might be more suitable这样我就可以在研究过程中优先考虑并深入研究.
更新2:我最终使用了LCSubsequence,LCSubstring和Levenshtein Distance的合并.谢谢大家的建议.
在GitHub上有一份完成的纸张
可能重复:
比较大量PDF文件的工具?
我在经典场景的业务给你一堆新的新的一年的PDF表单没有修订说明任何和你应该弄清楚什么是从去年的不同.
我在这里谈论大量的表单,所以我试图找到一种方法来比较PDF以概述差异,而无需人们手动遍历每一个.
我的想法是从PDF中提取所有文本并将其转储到.txt然后在文本文件上运行差异,但这听起来很糟糕.
我的问题以编程方式说,但我对任何用于比较PDF的可靠工具感到满意,并且主要是希望从人们的经验中获得一个想法.也愿意接受任何程序化解决方案(最好是在C#中,但请发布任何想法).
已经讨论过好的文件比较工具,但是我的问题更具异国情调.是否有任何可视文本比较工具(如WinMerge)可以让我轻松地在同一个文件中的两个部分进行视觉比较?
我在vcproj文件中有多个配置,需要维护它们.手动执行此操作非常痛苦 - 拆分窗口,逐个字符滚动.最重要的是,xml非常冗长,需要大量的屏幕空间.我不敢相信没有工具可以进行自动文件部分比较,因为这听起来像是一个非常常见的问题.
请不要让我使用属性页面,我不想要更复杂,我想要更少.手动拆分成文件,然后比较它们也太过中世纪(我现在正在这样做).
我在VS2005中创建了一个简单的"Hello World"应用程序.这是一个直接的控制台应用程序; 它只包含以下几行:
Console.WriteLine("Hello World");
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
当我尝试重建相同的控制台应用程序而不执行任何更改(只需按下重建按钮)时,我得到一个微妙的不同的可执行文件.(我从第一个和第二个生成的可执行文件生成了一个SHA-1哈希,它是不同的!)
当没有代码更改时,为什么它会有所不同?实际改变了什么?我使用十六进制编辑器进行比较,只看到几个不同的字节.
我想我的最终问题是,我怎么知道"集会"是否确实改变了?(当然不看文件版本,文件大小等)
编辑
到目前为止,我们已经确定差异在于PE头(时间戳和一些调试数据).在我重新发明轮子之前,是否有一个忽略PE头的"装配比较"工具?
谢谢,伊恩
在版本化或优化文件备份时,一个想法是仅使用已修改的增量或数据.
这听起来像一个简单的想法,但实际上确定未修改数据的结束位置和新数据的开始是一项艰巨的任务.
是否有现有的框架已经做过类似的事情或有效的文件比较算法?
每次我使用Windows comp命令时,都会显示一条消息:
Compare more files (Y/N) ?
Run Code Online (Sandbox Code Playgroud)
显示.我可以N通过默认键入来避免它吗?
谢谢
我有一个字符串"ABCD"和一个文件test.txt.我想检查文件是否只有这个内容"ABCD".通常我只使用"ABCD"获取文件,并且当我得到除此字符串之外的任何其他内容时我想发送电子邮件通知,因此我想检查这种情况.请帮忙!
file-comparison ×10
c# ×2
diff ×2
java ×2
windows ×2
algorithm ×1
bash ×1
batch-file ×1
command ×1
comparison ×1
delta ×1
distance ×1
linux ×1
pdf ×1
ruby ×1
ruby-1.9 ×1
shell ×1
terminal ×1
unix ×1
versioning ×1