我的音乐收藏比较大,里面有些重复。有什么办法可以找到重复的文件。至少可以通过做一个散列,看看两个文件是否具有相同的散列。 ogg格式版本。

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

#1 楼

我为此使用fdupes。它是一个命令行程序,可以使用sudo apt install fdupes从存储库中安装。您可以像fdupes -r /dir/ect/ory这样称呼它,它会打印出重复列表。 fdupes还有一个简单的主页和Wikipedia文章,其中列出了更多程序。

评论


它还具有“ -d”选项,该选项使您可以选择要保留的副本,并删除其他副本(或者如果需要,可以保留所有副本)。

–马修·克鲁姆利
2010-09-08 20:59

我如何使用-d选项在这里解决我的问题

–约翰·麦肯·普鲁特(John McKean Pruitt)
2012年4月3日在22:07

fdupes是否可以列出重复的文件夹而不是重复的文件?

–安德森·格林(Anderson Green)
2012年9月1日于22:31

您能否更详细地说明如何删除递归目录树中的所有重复项(每个文件仅保留一个副本)?我想自动执行此操作,也就是说,不必每次都指定要保留哪个文件。它应该只选择重复项之一。

–壁虎
2015年3月10日在18:28



fdupes -r -d -N应该保存第一个实例并删除重复对象。我刚刚使用fdupes成功清除了一个文件夹。 -d -N非递归

–西蒙B
16 Jun 15'在19:48



#2 楼

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


评论


谢谢。请注意,命令名称为“ fslint-gui”,默认情况下命令行工具不在$ PATH中-它们在/ usr / share / fslint / fslint中。当我仅通过运行fslint(通过/ usr / lib / command-not-found)而无法获得有关哪个软件包的帮助时,我感到困惑。

–nealmcb
2011年11月19日在18:59

到底有什么必要

–Tebe
14年8月17日在17:38

@nealmcb如果使用sudo apt-get install fslint,安装当前会将fslint-gui放入路径,因此我可以通过键入fslint-gui在任何地方运行它。您可以通过键入哪个fslint-gui(看起来像Python脚本)来找到fslint-gui的位置。

–user29020
2014年11月25日19:29

#3 楼

programs/scripts/bash-solutions的列表,这些列表可以查找重复项并在nix下运行:避免在多个路径指向同一文件时将文件与自身进行比较。

dupmerge:在各种平台上运行(带有Cygwin,* nix,Linux等的Win32 / 64)。 dupseek:Perl,其算法经过优化以减少读取。

fdf:基于Perl / c,可在大多数平台(Win32,* nix以及其他平台)上运行。使用MD5,SHA1和其他校验和算法

freedups:shell脚本,可搜索您指定的目录。当找到两个相同的文件时,会将它们硬链接在一起。现在,两个或多个文件仍然存在于它们各自的目录中,但是磁盘上仅存储了一个数据副本。两个目录条目都指向相同的数据块。

fslint:具有命令行界面和GUI。

liten:纯Python重复数据删除命令行工具和库,使用md5校验和和一种新颖的字节比较算法。 (Linux,Mac OS X,* nix,Windows)

liten2:重写原始的Liten,仍然是命令行工具,但具有使用SHA-1校验和的更快的交互模式(Linux,Mac OS X,* nix)

rdfind:为避免重复在输入原始参数(如果有多个)中根据输入参数(要扫描的目录)的顺序对重复项进行排序的少数几个目录)。使用MD5或SHA1。来自名为Shredder Duplicate Finder的桌面启动器)

ua:Unix / Linux命令行工具,旨在与find(等等)一起使用。用于高效搜索重复文件的命令行工具,它可以在zip和jar中搜索。(GNU / Linux,Mac OS X,* nix,Windows)

fdupe:用Perl编写的小脚本。快速高效地工作。1


ssdeep:使用上下文触发的分段哈希识别几乎相同的文件


评论


这些程序中的任何一个都能找到重复的文件夹(而不仅仅是重复的文件吗?)

–安德森·格林(Anderson Green)
2012年9月2日,下午3:08

@AndersonGreen rmlint可以找到重复的目录。 rmlint -T dd

–寡核苷酸
15年1月3日,14:33

对于Ubuntu,另一种方法是打开文件,搜索(control-f)给定的扩展名(例如.mp3),然后对文件名进行排序。这将允许手动删除重复项,并同时显示重复项的位置。

–axd
18年6月11日在19:10

#4 楼

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

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

评论


我刚刚使用Picard更新了我的图书馆的元数据。然后,我使用fdupes -r -d -N查找和删除重复项。但是它仍然不能识别许多重复项。您如何使用musicip_puid做到这一点?

–dspacejs
20 Sep 26'4:07



从那以后已经有好几年了,恐怕我还没有跟随皮卡德。我的音乐库已经安全地存档了,手机媒体中包含了一些精选歌曲,流媒体服务满足了所有其他需求。我只能说我记得那只puid确实帮助我找到了相似的歌声。抱歉,我现在无能为力了。

–́ΤZΩΤZnΙΟΥ
20/09/26'9:54

#5 楼

可以完成此任务的另一个脚本是rmdupe。在作者页面中:rmdupe使用标准linux命令在指定文件夹内搜索重复文件,而不管文件名或扩展名如何。在删除重复的候选者之前,将它们逐字节进行比较。 rmdupe还可以针对一个或多个参考文件夹检查重复项,可以删除文件而不是删除它们,允许使用自定义删除命令,并且可以将其搜索限制为指定大小的文件。 rmdupe包括一个模拟模式,该模式报告在不实际删除任何文件的情况下将对给定命令执行的操作。


#6 楼

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

#7 楼

您是否尝试过

finddup




finddup -l


我想它很好用。

#8 楼

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