我有一个相当大的音乐收藏,里面有一些重复的文件。有没有办法找到重复的文件呢?至少可以通过哈希值来判断两个文件是否相同。
如果还能找到除了扩展名之外文件名相同的文件,那就更好了——我想我有一些歌曲既有mp3格式版本,又有ogg格式版本。
如果使用命令行是最简单的方式,我也很愿意使用。
如果还能找到除了扩展名之外文件名相同的文件,那就更好了——我想我有一些歌曲既有mp3格式版本,又有ogg格式版本。
如果使用命令行是最简单的方式,我也很愿意使用。
我用fdupes
来做这个。它是一个命令行程序,可以通过sudo apt install fdupes
从软件源安装。你可以像这样调用它:fdupes -r /dir/ect/ory
,它会打印出一份重复文件的列表。fdupes还有一个GitHub上的README和一个维基百科文章,列出了一些更多的程序。
rmlint-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: 使用上下文触发分段哈希算法识别几乎相同的文件。rmlint
可以找到重复的目录。rmlint -T dd
- oligofrenFSlint 有一个图形用户界面和其他一些特性。他们在常见问题解答中解释了重复检查算法:
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).
sudo apt-get install fslint
,当前安装会将 fslint-gui
放入路径中,因此我可以通过输入 fslint-gui
在任何地方运行它。你可以通过输入 which fslint-gui
来找到 fslint-gui
的位置(它看起来像一个Python脚本)。 - user29020musicip_puid
标签,您可以轻松找到所有重复的歌曲。fdupes -r -d -N
命令来查找并删除重复文件。但是它仍然没有识别出很多重复文件。你是如何使用musicip_puid
来完成这个任务的? - Danielfinddup
finddup -l
我发现jdupes
非常简单且极快。
jdupes是一个用于识别和处理重复文件的程序,例如删除、硬链接、符号链接和块级去重(也称为“dedupe”或“reflink”)。它比大多数其他重复扫描器更快。它将数据安全性置于性能之上,同时还为专业用户提供了访问高级(有时危险)功能的权限。
# Search a single directory:
jdupes path/to/directory
# Search multiple directories:
jdupes directory1 directory2
# Search all directories recursively:
jdupes --recurse path/to/directory
# Search directory recursively and let user choose files to preserve:
jdupes --delete --recurse path/to/directory
# Search multiple directories and follow subdirectores under directory2, not directory1:
jdupes directory1 --recurse: directory2
# Search multiple directories and keep the directory order in result:
jdupes -O directory1 directory2 directory3
# EXclude files over 1M, sumarize info, recursive
jdupes -X size+=:1000k --summarize --recurse ~
fdupes -r . -d -N
命令可以保存第一个实例并删除重复文件。我刚刚成功地使用fdupes . -d -N
命令对单个文件夹进行了清理,但没有递归查找。 - Simon B