it-swarm.cn

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

我有一个较大的音乐收藏,那里有一些重复。有没有办法找到重复的文件。至少通过执行哈希并查看两个文件是否具有相同的哈希值。

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

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

125
Hamish Downer

我使用fdupes。它是一个命令行程序,可以使用Sudo apt install fdupes从存储库安装。你可以像fdupes -r /dir/ect/ory一样调用它,它会打印出一个dupes列表。 fdupes还有一个 简单的主页 和一个 维基百科文章 ,它列出了一些更多的程序。

138
qbi

FSlint 有GUI和其他一些功能。从FAQ中解释重复检查算法:

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).

fslintInstall fslint

61
Dominik

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

  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)
  11. a:Unix/Linux命令行工具,设计用于查找(等)。
  12. findrepe:免费的基于Java的命令行工具,专为高效搜索重复文件而设计,可以在拉链内搜索jars。(GNU/Linux,Mac OS X,* nix,Windows)
  13. fdupe:用Perl编写的小脚本。快速有效地完成工作. 1
  14. ssdeep:使用Context Triggered Piecewise Hashing识别几乎相同的文件
55
v2r

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

完成后,基于musicip_puid标记,您可以轻松找到所有重复的歌曲。

6
ΤΖΩΤΖΙΟΥ

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

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

4
girardengo

你有没有尝试过

finddup

要么

finddup -l

我想它工作正常。

3
xerostomus

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

2
Yathi

我使用 komparator - Sudo apt-get install komparatorbuntu 10.04 + ) - 作为GUI工具,用于在手动模式下查找重复项。

2
N0rbert