AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 3865
Accepted
Hamish Downer
Hamish Downer
Asked: 2010-09-09 11:11:46 +0800 CST2010-09-09 11:11:46 +0800 CST 2010-09-09 11:11:46 +0800 CST

如何查找(和删除)重复文件

  • 772

我有一个较大的音乐收藏,其中有一些重复。有没有办法找到重复的文件。至少通过做一个散列并查看两个文件是否具有相同的散列。

除了扩展名之外还找到具有相同名称的文件的奖励积分 - 我想我有一些同时具有 mp3 和 ogg 格式版本的歌曲。

如果这是最简单的方法,我很乐意使用命令行。

filesystem music
  • 9 9 个回答
  • 145398 Views

9 个回答

  • Voted
  1. Best Answer
    qbi
    2010-09-09T11:20:06+08:002010-09-09T11:20:06+08:00

    我用fdupes这个。它是一个命令行程序,可以使用sudo apt install fdupes. 你可以这样称呼它fdupes -r /dir/ect/ory,它会打印出一个骗子列表。fdupes在 GitHub 上还有一个 README和一篇Wikipedia 文章,其中列出了更多程序。

    • 169
  2. v2r
    2012-04-03T17:22:29+08:002012-04-03T17:22:29+08:00

    的列表programs/scripts/bash-solutions,可以找到重复项并在以下条件下运行nix:

    1. dupedit:一次比较多个文件而不进行校验和。当多个路径指向同一个文件时,避免将文件与自身进行比较。
    2. dupmerge:在各种平台上运行(Win32/64 和 Cygwin、*nix、Linux 等)
    3. dupseek:Perl 算法优化以减少读取。
    4. fdf:基于 Perl/c 并在大多数平台上运行(Win32、*nix 和可能的其他平台)。使用 MD5、SHA1 和其他校验和算法
    5. freedups:shell 脚本,用于搜索您指定的目录。当它找到两个相同的文件时,它会将它们硬链接在一起。现在这两个或多个文件仍然存在于各自的目录中,但只有一份数据副本存储在磁盘上;两个目录条目都指向相同的数据块。
    6. fslint:具有命令行界面和 GUI。
    7. liten:纯 Python 重复数据删除命令行工具和库,使用 md5 校验和和一种新颖的字节比较算法。(Linux、Mac OS X、*nix、Windows)
    8. liten2:对原始 Liten 的重写,仍然是一个命令行工具,但使用 SHA-1 校验和具有更快的交互模式(Linux、Mac OS X、*nix)
    9. rdfind:根据输入参数(要扫描的目录)的顺序对重复项进行排名的少数之一,以便不在“原始/众所周知”源中删除(如果给出了多个目录)。使用 MD5 或 SHA1。
    10. rmlint:具有命令行界面的快速查找器和许多查找其他 lint 的选项(使用 MD5),因为 18.04 LTS 有一个rmlint-gui带有 GUI 的包(可以由rmlint --gui名为Shredder Duplicate Finder的桌面启动器启动或从桌面启动器启动)
    11. ua : Unix/Linux 命令行工具,旨在与 find (等)一起使用。
    12. findrepe:免费的基于 Java 的命令行工具,专为高效搜索重复文件而设计,它可以在 zip 和 jar 中搜索。(GNU/Linux、Mac OS X、*nix、Windows)
    13. fdupe:一个用 Perl 编写的小脚本。快速有效地完成工作。1
    14. ssdeep:使用上下文触发分段散列识别几乎相同的文件
    • 68
  3. Dominik
    2010-09-09T11:31:34+08:002010-09-09T11:31:34+08:00

    FSlint具有 GUI 和其他一些功能。他们的常见问题解答中对重复检查算法的解释:

    1. exclude files with unique lengths
    2. handle files that are hardlinked to each other
    3. exclude files with unique md5(first_4k(file))
    4. exclude files with unique md5(whole file)
    5. exclude files with unique sha1(whole file) (in case of md5 collisions).
    

    fslint 安装说明

    • 66
  4. ΤΖΩΤΖΙΟΥ
    2010-09-09T13:46:54+08:002010-09-09T13:46:54+08:00

    如果您的重复数据删除任务与音乐相关,请首先运行picard应用程序以正确识别和标记您的音乐(以便您找到重复的 .mp3/.ogg 文件,即使它们的名称不正确)。请注意,picard 也可作为 Ubuntu 软件包提供。

    完成后,您可以根据musicip_puid标签轻松找到所有重复的歌曲。

    • 7
  5. girardengo
    2014-04-22T23:34:56+08:002014-04-22T23:34:56+08:00

    完成这项工作的另一个脚本是rmdupe。从作者的页面:

    rmdupe 使用标准 linux 命令在指定文件夹中搜索重复文件,无论文件名或扩展名如何。在删除重复的候选者之前,它们会逐字节进行比较。rmdupe 还可以检查一个或多个参考文件夹的重复项,可以丢弃文件而不是删除它们,允许自定义删除命令,并且可以将搜索限制为指定大小的文件。rmdupe 包含一个模拟模式,它报告给定命令将执行的操作,而无需实际删除任何文件。

    • 6
  6. N0rbert
    2013-12-30T04:15:53+08:002013-12-30T04:15:53+08:00

    我使用komparator - sudo apt-get install komparator( Ubuntu 10.04+ ) - 作为在手动模式下查找重复项的 GUI 工具。

    • 4
  7. Yathi
    2014-04-22T23:47:35+08:002014-04-22T23:47:35+08:00

    对于音乐相关的重复识别和删除, http : //musicbrainz.org/ 提供的 Picard 和 Jaikoz是最好的解决方案。Jaikoz 我相信会根据歌曲文件的数据自动标记您的音乐。您甚至不需要歌曲的名称来识别歌曲并将所有元数据分配给它。虽然免费版一次只能标记有限数量的歌曲,但您可以根据需要运行多次。

    • 3
  8. xerostomus
    2014-07-05T20:34:12+08:002014-07-05T20:34:12+08:00

    你有没有尝试过

    finddup
    

    或者

    finddup -l
    

    我想它工作正常。

    • 3
  9. Diego V
    2021-02-24T07:33:15+08:002021-02-24T07:33:15+08:00

    dupeGuru有一个专门的音乐模式。它是一个跨平台的 GUI 程序,截至今天(2021 年 2 月),它正在积极开发中,尽管尚不清楚哪些版本适用于哪些系统。检查其文档。

    • 1

相关问题

  • “/var/lib/dpkg/updates”文件夹中存储了什么?

  • 如何使文件夹与外部 USB 硬盘保持同步?

  • 为什么 Ubuntu 不再将文件大小单位测量为字节、兆字节、千兆字节等?

  • 如何与我的 iPhone 3G 同步音乐?[关闭]

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve