![查找重复文件,但指定要保留的目录](https://linux22.com/image/206905/%E6%9F%A5%E6%89%BE%E9%87%8D%E5%A4%8D%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%86%E6%8C%87%E5%AE%9A%E8%A6%81%E4%BF%9D%E7%95%99%E7%9A%84%E7%9B%AE%E5%BD%95.png)
我正在努力整理公司共享驱动器,并希望删除重复项。是否有重复查找程序允许您指定要删除哪个目录的重复项?
我希望能够这样做:fdupes -rdN some_Folder master_folder
以便它优先将重复项保留在一个文件夹中而不是另一个文件夹中。
这涉及数千个文件,因此手动操作并不是一个真正的选择。如果 rdfind 的结果文件是执行此操作的唯一方法,那么使用该文件的最佳方法是什么?
答案1
您可以列出所有重复项fdupes
并扩展命令以删除它找到的所有内容,但以下文件除外master_folder
:
fdupes -r some_Folder master_folder | grep -v ^master_folder/ | xargs rm -v
解释:
- 所有重复文件的输出列表被发送到
grep
,这将输出除以 string 开头 (^
) 的行之外的所有内容master_folder/
。 xargs
此过滤列表作为命令的参数一一发送(使用命令)rm
,因此每个文件都被删除。-v
参数显示哪些文件实际被删除
注意:请小心使用 rm 命令,首先尝试一些非关键数据!
编辑:我-v
向命令添加了参数rm
,因为没有它,整个命令将绝对安静地运行,没有输出,这可能是不需要的行为。