0
点赞
收藏
分享

微信扫一扫

linux find查找重复文件

直接上命令

find -not -empty -type f -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate | cut -b 35-

linux find查找重复文件_查找重复文件

解释

第一句

find是查找命令,-not -empty寻找非空文件;-type f寻找常规文件;-print0防止文件名里带空格

第二句

xargs命令将之前的结果转化为参数,供后面的命令调用

-0与前面的-print0配合使用,指定使用NULL而不是空格、Tab制表符、回车符为分隔符和结束符

md5sum计算每个文件的MD5值

第三句

sort是排序命令
linux find查找重复文件_查找重复文件_02

第四句

uniq -w32是指寻找前32个字符相同的行,原因在于md5值一定是32位的,而后面的–all-repeated=separate是指将重复的部分放在一类,分类输出。

第五句

由于我们的结果带着md5值,不是很好看,所以我们截取md5值后面的部分,cut是文本处理函数,这里-b 35-是指只要每行35个字符之后的部分。

参考文章

​​Linux 查找重复文件方法汇总​​xargs命令详解Linux命令大全(入门必备)


举报

相关推荐

0 条评论