首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文本文件中选择md5sums并在Linux中删除重复项

从文本文件中选择md5sums并在Linux中删除重复项
EN

Stack Overflow用户
提问于 2015-11-24 05:11:34
回答 3查看 258关注 0票数 0

我使用了find命令并创建了一个名为Duplicates.txt的文件,其中包含一堆图像的md5sums。

如何在文件中找到重复的MD5,然后使用它们从归档中删除重复的MD5?

编辑:我不能使用fdupes。

EN

回答 3

Stack Overflow用户

发布于 2015-11-24 05:21:04

代码语言:javascript
复制
sort Duplicates.txt|uniq -c|grep -v '^ *1 '
票数 0
EN

Stack Overflow用户

发布于 2015-11-24 06:36:43

假设您以类似如下的方式创建了文件Duplicates

代码语言:javascript
复制
find ./dupimgs -type f -print0 | xargs -0 sha1sum > dupes.txt

然后,您可以很容易地提取具有以下一行代码的唯一文件:

代码语言:javascript
复制
sort dupes.txt  | uniq --check-chars=40 --count | cut -d' ' -f 10

这些是您想要保留的文件。我建议将它们移到另一个目录中,然后删除现在充满副本的目录:

代码语言:javascript
复制
sort dupes.txt  | uniq --check-chars=40 --count | cut -d' ' -f 10 | xargs -I {} mv {} ./originals
rm -rf ./dupimgs

备注:我使用的是sha1sum而不是md5sum。这意味着摘要的长度将会不同。对于sha1sum,它是40个字符。对于md5sumit's 32 hexadecimal digits。因此,您需要更改上述命令中的40,使其与您所使用的任何散列函数返回的十六进制字符串的长度相匹配。

票数 0
EN

Stack Overflow用户

发布于 2015-11-24 10:48:15

在fslint的重复搜索引擎脚本“findup”后面有一些令人印象深刻的废话;您感兴趣的部分在第185行左右。

我通常会插入一个rmlint的插件,但看起来您正在寻找一个纯粹的bash解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33880787

复制
相关文章

相似问题

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