自动删除重复文件夹(及其内容)

自动删除重复文件夹(及其内容)

我在 Linux 机器上有一些文件夹和文件,它们以特定方式被复制。第一级文件夹是用户名。每个用户文件夹下都有多个项目文件夹。不幸的是,由于在我之前使用了一些不稳定的软件,其中一些项目文件夹已被复制为该项目文件夹下的新项目文件夹。举个例子,可能就说得通了:

/root/John Doe/Project Alpha/Project Alpha

其中的文件/root/John Doe/Project Alpha/大部分与 中的文件相同/root/John Doe/Project Alpha/Project Alpha,但有时会有细微差别。但是,第二个项目子文件夹的名称始终与更高级别的项目子文件夹(包括案例)的名称相同。

我想做的事情在概念上很简单,但在执行上显然比较棘手:只需删除第二个子文件夹及其所有内容,这样我就只剩下/root/John Doe/Project Alpha该文件夹中的文件了。这些项目文件夹有成千上万个,所以我希望找到一种方法来自动执行删除操作,最好是在提交之前预览将要删除的内容。

另外,为了防止有人觉得这篇文章重复,我查看了之前的一些帖子,包括这个这个并研究了这些帖子中提到的许多不同工具,包括 fdupes、AllDup 和 Duplicate Cleaner。令人沮丧的是,这些工具都无法实现我上面描述的功能。

这些文件夹和文件位于 Ubuntu 机器上,也可以通过 Samba 从 Windows 访问,因此 Linux 或 Windows 解决方案都可以运行。

如果有人对我如何实现上述目标有任何建议,或者只是给我指明正确的方向,我将不胜感激。

答案1

fdupes 工具非常适合这项任务。将它安装在您的 Linux 机器上,尽情享受吧。

sudo apt install fdupes
fdupes -r folder1 folder2 # to see duplicates files
fdupes -r -d folder1 folder2 # to remove duplicated files with a confirmation question.

相关内容