文件去重 CLI - dedup

2026-02-11 09:00:00 · 1 minute read

给车车上拷贝一些音乐,结果发现 U 盘里有好些重复的歌,自己手动去删除实在太累了,索性就让数字员工活动活动筋骨吧,要不然它们就要荒废了!

上需求:

使用 go 语言开发一款 CLI,名叫:dedup,deduplication(去重)的缩写。 功能是用来删除指定文件夹下的重复文件,多个文件重复,应当只保留一份。

很快啊,年轻的数字员工就是不一样,直接做好了:

[Pasted image 20260210184350.png]

如果想直接使用,需要在环境变量中配置一下路径。

快速开始

然后就可以敲命令啦:

# 仅使用 CRC32 方法扫描当前目录及其后代目录下的所有文件
dedup -r -m crc32 .

# 如果不放心 CRC32 方法来检测重复文件,可以同时开启所有哈希方法来检测,不过这样比较耗时
dedup -r .

# 注意啊,上面的命令最后都有个小点,这个英文的句号表示当前目录,与 ./ 是一个意思。
# 如果打的是 /,就要特别特别注意了啊,这个是根目录的意思,别直接把系统给干死了……

[Pasted image 20260210191436.png]

[Pasted image 20260210191502.png]

[Pasted image 20260210191519.png]

开源

我把项目开源了,可以在下方链接找到。

国内:

https://gitee.com/ationlove/dedup

国外:

https://github.com/ationlove/dedup

编译好的放在了 release 中:

https://gitee.com/ationlove/dedup/releases/tag/v1.0

已复制