【问题标题】:Finding files with same size (potential duplicates) in nested sub-folders in Linux Mint shell? [closed]在 Linux Mint shell 的嵌套子文件夹中查找具有相同大小(可能重复)的文件? [关闭]
【发布时间】:2016-04-20 06:10:57
【问题描述】:

我使用过rdfindfdupesfslint 并查看过之前的帖子,例如this 之一。但是,链接帖子中的解决方案对分散在嵌套子文件夹中的文件没有帮助。 rdfindfdupesfslint 运行良好,他们删除了很多重复文件,但找不到所有文件。我仍然可以看到许多文件大小完全相同的重复文件。 有什么方法可以找到分散在文件夹的嵌套子目录中的所有文件大小相同的文件?

【问题讨论】:

    标签: bash duplicates linux-mint


    【解决方案1】:
    #prefix each filepath with the size of the file padded to 10 places
    find . -type f -printf "%10s\t%p\n" | 
    sort --numeric | #sort numerically (uniq needs this) 
    uniq --repeated --check-chars=10 #select duplicates 
    

    有关详细信息,请参阅相应的联机帮助页。

    【讨论】:

    • 太棒了!我现在看到所有的重复项。赞一个!
    • --repeated 每个文件大小只打印一个文件名。我更改为-D 以查看所有重复项。
    【解决方案2】:

    要解决您的问题(清理重复项),您可能会发现值得使用rdfind 等工具。我的 Debian 系统说:

    包:rdfind
    优先级:额外
    部分:实用程序
    说明:查找重复文件实用程序

    rdfind 是一个查找重复文件和可选列表的程序, 删除它们或用符号链接或硬链接替换它们。它是一个 用 C++ 编写的命令行程序,已经证明很漂亮 与其替代品相比,速度更快。

    首页:http://rdfind.pauldreik.se/

    据我了解,它通过校验和候选文件来工作。因此,如果您的潜在重复项不完全相同(例如,从不可重复的构建中生成的目标文件),则不会将它们视为重复项。

    【讨论】:

    • 我也用过rdfind,不好意思忘了说。我也会编辑以包含它。它也没有在包含数千个文件夹的文件夹中找到任何重复项。我想原因一定是他们有不同的 md5 校验和。
    【解决方案3】:

    如果 rdfind、fdupes 和 fslint 没有找到它们,那么它们不是重复的;它们只是大小相同的文件。

    【讨论】:

    • 它们具有完全相同的内容,相同的文件大小到最后的精度,甚至相同的名称。我确信它们在其他方面有所不同,导致这些包忽略它们。
    • 啊哈——这三个实用程序都忽略了已经硬链接的文件。例如,如果您创建一个测试文件夹和这样的硬链接:$ mkdir test && cd test && echo hello > file1 && ln file1 file2 ... 那么您将有 2 个重复文件:$ md5sum file1 file2 # returns: b1946ac92492d2347c6235b4d2611184 file1 b1946ac92492d2347c6235b4d2611184 file2 ... 但 fdupes 将忽略它们:$ fdupes -m . # returns No duplicates found. ... 除非您指定--hardlinks 选项:$ fdupes --hardlinks . --> ./file1 ./file2
    • 有趣的输入!我一定会试一试并回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多