问题标签 [file-comparison]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - GUI XML 比较工具,用于在 Linux 差异化之前解析 XML
我正在寻找一个 XML 比较工具,该工具将在为 Linux(RHEL 5.7,Gnome)进行比较之前解析 XML。我比较的文件在行比较中有 99% 不同,但在解析后有 85% 相同。
- 我发现 ExamXML Pro 似乎是一个可以很好地完成这项工作的工具。它只是Windows。
- OxygenXML Diff 是为 Linux 构建的,但似乎无法处理以不同顺序排列但结构相同的 XML。
有很多关于 XML 差异或比较工具的堆栈溢出问题,但大多数问题较旧或不特定于 Linux 环境。
filenames - 如何匹配相似的文件名并重命名,以便 Beyond Compare 等差异工具将它们视为一对以执行二进制比较?
我正在寻找比较我认为相同但文件名不同的文件的最佳方法。BeyondCompare 之类的比较工具很棒,但它们还不能处理不同的文件名——当比较不同文件夹中的文件时,它们会尝试与两边同名的文件进行比较。
(我不为 BeyondCompare 工作或对 BeyondCompare 没有经济利益,但我经常使用该工具并发现它有一些很棒的功能)。
有 MindGems Fast Duplicate File Finder 用于在多个文件夹树中的任何位置匹配文件还不如 BeyondCompare 那样信任它。BeyondCompare 提供了对文件进行完整二进制比较的完整思路。
在我的情况下,文件往往具有相似的名称,不同之处在于单词的顺序、标点符号、大小写差异以及并非所有单词都存在。因此,使用正则表达式过滤器来匹配某些 diff 工具(如 Beyond Compare)已经提供的文件并不容易,因为文件子字符串可能是无序的。
我正在寻找一种方法来匹配相似的文件名,然后再将文件重命名为相同的文件,然后将它们“提供”给 BeyondCompare 等工具。解决方案可以是脚本,也可以是应用程序的形式。
目前,我有一个算法(在 Perl 中实现)来匹配文件名以适应我的问题,即文件名与上述相似。
你能提出更好的或完全不同的方法吗?
查找文件大小完全相同的文件列表
使用非字母数字字符或空格作为分隔符,对第一个文件中的字母数字子字符串进行哈希处理
使用非字母数字字符或空格作为分隔符,对第二个文件中的字母数字子字符串进行哈希处理
匹配事件
查找哪个文件具有最多的子字符串。
根据匹配数除以最高子字符串数,计算对比较的百分比分数。
重复比较每个文件与具有确切文件大小的每个其他文件
按百分比分数对比较进行排序,以获得要比较的文件的建议。
重命名该对中的一个文件,使其与另一个相同。放在单独的文件夹中。
使用文件、文件夹比较模式运行 BeyondCompare 之类的比较工具。
php - 如何通过使用 php 比较两个文件来找到额外的行?
我有两个文件。
第一个有 482 行。第二个只有 519 行。
我想通过使用 php.ini 比较两个文件来找到额外的行。
假设我的第一个文件有这样的行
假设我的第二个文件看起来像这样
请注意:这些行是随机排列的。现在我想使用 php 脚本来删除相同的行并保留多余的行。例如文件 1 包含行Mango
。文件 2 也包含该行,但顺序随机。所以我想删除那条线。
perl - 使用 perl md5 比较两个文件
我想运行一个代码,持续检查文件是否存在,然后检查文件的 MD5 与以前的 MD5 。如果有一些变化,那么它会执行一些代码。但是每次我为同一个文件调用 hexdigest 时,perl MD% 似乎都会发生变化。MD5每次都变吗?
我最初有
前while(1)
如果这不是如何做到的,还有什么可以实现我的意图吗?谢谢
perl - 如何仅将新行和/或更新行插入另一个文件
与 Perl 打交道并已被阻止的第一天 :)
情况是这样的:一个文件在文件夹 A 中更新,但也存在于文件夹 B、C 和 D 中,为了更容易,所有文件都可以不同,所以我不能只做一个差异。打算复制到其他文件的新行由行尾的标志标识,例如#I。
更新前的文件如下所示:
更新后是这样的:
我需要做的是在其他文件上搜索“第二行”,插入标有#I的行 - 按照它们插入的顺序 - 然后搜索“第五行”并插入“第六行#I” .
在这个例子中,它们都是连续的,但是在我需要更新的文件中,第一个更新块和第二个(以及第三个等等)之间可以有几行。
将要更新的文件可以是sh脚本、awk脚本、纯文本文件等,脚本应该是通用的。该脚本将有两个入口参数,更新的文件和要更新的文件。
欢迎提供有关如何执行此操作的任何提示。如果需要,我可以提供到目前为止的代码 - 关闭但尚未工作。
谢谢,
若昂
PS:这是我到目前为止所拥有的
获得的结果几乎是我想要但还没有的结果。
batch-file - 当文件不同时,批处理文件比较返回 0
我在需要批处理文件来运行不同作业的 Windows 2003 服务器上使用调度系统。我有一项工作是检查文件是否存在,比较文件是否为空,然后根据结果执行某些操作。每次我运行它,返回的错误级别都是 0,但是文件不同。我期待看到 1 返回。
我已经验证了文件的位置,一个文件有内容,另一个是空的。我已经设置了提示,他们都说 %ERRORLEVEL% 是 0。我什至将文件移动到批处理作业的同一目录中,但它们仍然显示 0。
编码:
输出:
我在同一台服务器上的其他作业中有这个确切的代码,指向不同的数据文件,它可以工作。关于我可以尝试什么的任何想法?
java - Java FileUtils 复制备份目录
我正在使用 Commons.IO 的 FileUtils 并且我正在尝试创建一个备份脚本,简单的规则是将 dest 中不存在的所有文件(和子目录)从源复制到 dest 目录,或者如果源具有 lastmodified日期比其他日期新。
我不明白 FileUtils.copyDirectory() 是否是正确的选择,而不是如何设置正确的 FileFilter。
谢谢你。
python - 在python中匹配数组列
我有两个文件,内容如下。我的问题是,在下面显示的代码中,如果 id 在 file1 和 file2 中匹配,那么如何匹配 file1 中的第二列和 file2 中对应的第二列直到 n 列..
文件1:
文件2:
c# - 比较两个版本的文件并将更改应用于旧文件
我一直在搜索和谷歌搜索这个问题,我已经知道如何比较两个文件(哈希、校验和等)。但这不是我所需要的。我需要的内容如下所述。
假设我有一个文件并且我已经备份了它。后来我对该文件进行了一些更改,因此我想将更改应用到备份版本。由于两个文件可能足够大而更改可能很小,所以我不想重写所有文件,因为我打算通过互联网(可能是 FTP)备份它,这可能需要很多时间。
我如何看待这个(样本):
文件的备份版本(字节)
较新版本的文件(字节)
而不是重写所有字节,我们应该:
- 更改
253
为624
(更改字节) - 删除
637
字节(删除字节) 890
在文件末尾写入(插入字节)
1、2、3 选项不一定在每种情况下都同时出现。请注意,备份文件可能位于其他地方,我只能通过互联网访问它(服务器可以返回一些内容,以便我们可以比较文件)。
我怎样才能做到这一点?我知道这可能是因为我知道实现它的软件(但不知道如何实现)。欢迎和高度评价任何提示、教程等。提前致谢。
java - 用java查找多个文本文件的共同元素的最佳方法是什么?
我有一个程序可以创建多个 rdf 三元组的文本文件。我需要比较三元组并快速完成,最好的方法是什么?我曾想过将三元组放入一个数组并进行比较,但每个文件可能有数十万个三元组,这将花费很长时间。我需要它尽可能接近实时,因为三元组将在文件中不断进行分类。任何帮助都会很棒。这些文件也在 AllegroGraph 存储库中,如果以某种方式比较它们更容易的话。
一个想法:如果我将三元组存储在 excel 中(每行一个三元组)并且每个存储库一张表,
A:我怎样才能在表格中找到重复项。B:会不会很快。和 C:我怎样才能从 Java 自动化呢?