Comparison 两大目录的比较

Comparison 两大目录的比较,comparison,directory,Comparison,Directory,我有一个大目录,只包含CS和Math中的内容。它的大小超过16GB。类型为文本、png、pdf和chm。我现在有两个分支:我哥哥的一个分支和我的一个分支。最初的文件是相同的。我需要比较一下。我曾尝试使用Git,但加载时间很长 比较两个大目录的最佳方法是什么 [混合溶液] 在两个目录中执行“ls-R>不同的_文件”[1] “sdiff如何在没有预先存在的命令/产品的情况下比较两个文件夹: 只需创建一个程序,扫描每个目录并为每个文件创建一个文件哈希。它输出一个包含每个相对文件路径和文件哈希的文件 在

我有一个大目录,只包含CS和Math中的内容。它的大小超过16GB。类型为文本、png、pdf和chm。我现在有两个分支:我哥哥的一个分支和我的一个分支。最初的文件是相同的。我需要比较一下。我曾尝试使用Git,但加载时间很长

比较两个大目录的最佳方法是什么

[混合溶液]

  • 在两个目录中执行“ls-R>不同的_文件”[1]

  • “sdiff如何在没有预先存在的命令/产品的情况下比较两个文件夹:

    只需创建一个程序,扫描每个目录并为每个文件创建一个文件哈希。它输出一个包含每个相对文件路径和文件哈希的文件

    在两个文件夹上运行此程序

    然后,您只需比较这两个输出文件,看看它们是否相同。要比较这两个文件,只需将它们加载到一个字符串中并进行字符串比较

    您使用的哈希算法并不重要。您可以使用MD5、SHA、CRC。。。 您还可以使用输出文件中的文件大小来帮助减少冲突的机会


    如何将2个文件夹与预先存在的命令/产品进行比较:


    现在,如果您只想要一个可以执行此操作的程序,请使用或用于基于windows的系统。

    您是否只是试图发现其中一个系统中存在哪些文件,而另一个系统中不存在哪些文件?以下是几点建议:

  • 在两个目录中执行“ls-R”,重定向到文件,并区分文件

  • 在它们之间做一个“rsync-n”,看看如果允许rsync复制,它必须复制什么。(-n的意思是不要做rsync,只要向您展示如果您在没有-n的情况下运行它会做什么)


  • 通过比较
    md5sum*| sort

    这将带您找到不同/缺失的文件,用于创建这些目录中每个文件的递归md5sum列表


    您可以使用一个diff工具来比较生成的列表。

    我知道这个问题已经得到了回答,但是如果您自己不喜欢编写这样一个工具,那么sourceforge上有一个名为available on sourceforge的开源项目,它基本上完全满足您的需求,甚至支持自动创建f补丁(显然是tar格式)来解释差异

    希望这有助于使用fslint:。该工具的选项之一是“复制”。根据网站的描述:
    FSlint最常用的功能之一是能够找到重复文件。从硬盘中删除lint的最简单方法是丢弃可能存在的任何重复文件。计算机用户通常可能不知道他们的音乐收藏中有四、五或更多相同歌曲的副本,它们的名称或方向不同s、 任何文件类型,无论是音乐、照片还是工作文档,都可以轻松地在您的计算机上进行复制和复制。当收集到副本时,它们会占用可用的硬盘空间。FSlint提供的第一个菜单选项允许您查找和删除这些重复文件。

    您希望得到什么结果?即,如何处理比较两张图片?你试过“diff-r”吗?这个编程有什么关系?@David Segonds我对一个算法感兴趣。我留下这个问题是因为我觉得任务的某些部分有现成的工具。谢谢你的评论!@Drakosha我想我必须排除这些图片。这不是问题。谢谢!我混合了你的解决方案tion和Brian的解决方案得到了我的解决方案:########1.在两个目录中执行“ls-R>不同的#u文件”########2.sdiff
    find pathtofolder-type f-print0ӝxargs-0ӝsortӝsortӝ先用现有的命令对文件路径进行排序,但使用一个MDSUM>路径会产生差异。