首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux中检查相同的文件并根据位置删除

在Linux中检查相同的文件并根据位置删除
EN

Unix & Linux用户
提问于 2018-11-29 12:16:40
回答 1查看 57关注 0票数 2

我使用fdupe查找和删除相同的文件。

但我想说出这样的话..。

  • 查找目录A或其子目录中重复的所有文件
  • 如果子目录B和C中有重复文件,则始终删除B中的文件

换句话说,将C中没有的所有文件保存在B中,并注意目录结构不一样,所以rsync在这里没有用。

我不认为fdupe提供这个功能。我必须手动为每对选择删除/保存哪一对。

所以我想写一个快速的Python脚本来做同样的事情。但是是否有一个快速的系统命令,我可以从Python调用它,它可以为每个文件提供某种唯一的id,这是查看两个文件是否相同的可靠方法。我正在考虑一些不需要我将文件加载到python中并对其内容进行散列的东西。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-11-29 12:35:14

不,散列是判断多脉冲文件是否匹配的唯一快速方法,但是您可以通过比较相同大小的文件来加快速度,如果没有人尝试冲突,也可以选择像md5这样的快速散列.这是用git/zfs/etc为您完成的

或者只是

代码语言:javascript
复制
fdupes -r A B | grep B | xargs -I {} rm "{}"
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/484895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档