1
whileFalse 2022-09-09 08:36:01 +08:00 via iPhone
这玩意自己写怕是一个小时都用不了…
|
2
huang119412 2022-09-09 08:50:36 +08:00
用文件特征值,如 MD5 之类
|
3
AX5N 2022-09-09 08:52:38 +08:00 2
Duplicate Cleaner
|
4
r6cb 2022-09-09 08:55:33 +08:00
遍历目录所有文件,存到 map 。key 为唯一标识符,value 为 list 。list 按照那两个要求排序把后面的删掉。十几行代码的事
|
5
zxsa 2022-09-09 09:05:10 +08:00
Duplicate Cleaner 5
![dfe641b33681644e86bace24699c3b18.png]( https://www.cap2box.com/images/dfe641b33681644e86bace24699c3b18.png) |
6
gdgoldlion 2022-09-09 09:54:46 +08:00
懒得自己弄,就用 Duplicate Cleaner Pro ,界面好看选项多
|
7
yanqiyu 2022-09-09 10:05:19 +08:00
都有天然的分界词 “网页地址” 了,直接写个脚本不会很复杂
|
8
deorth 2022-09-09 10:18:01 +08:00 via Android
zfs dedup
|
9
wxf666 2022-09-09 12:28:58 +08:00 1
用 shell 写了一个:
功能:查找当前路径下所有 *.webm 文件,以文件名『 xxx 网页地址「 yyy 」.zzz 』中的「 yyy 」为分组依据,输出每组中(文件大小最小)的文件名 find . -name '*.webm' -printf '%s\t%p\n' | jq -Rsr '[capture("(?<size>\\d+)\\t(?<path>.*网页地址(?<key>.+)\\..+)"; "g")] | group_by(.key)[] | sort_by(.size | tonumber)[0].path' |
10
cyningxu 2022-09-09 15:28:38 +08:00
这。。。有发帖的时间怕是代码都写完了吧
|
11
cxtrinityy 2022-09-09 17:09:10 +08:00
论 linux 下会 shell 的便利性
|
12
loveress01 2022-09-09 17:23:49 +08:00 via Android
|
13
documentzhangx66 2022-09-09 21:00:46 +08:00
年代不一样了,现在已经不是软件或算法去重的年代了。
Windows Server 2019 直接对磁盘进行去重。 Linux 有 Btrfs 、Ceph ,再不济 Zfs 也行。 |
14
1054850490 OP @yanqiyu 主要是我不会写,懂一点,也只是能看到一点别人写的,自己上手就完全不会了
|
15
1054850490 OP @huang119412 #2 没法对比 md5 ,文件不一样,只是命名趋近一致,但是有唯一标识符
|
16
1054850490 OP @deorth #8 这是比对同样的哈希值的吗?可能不太适合我噢
|
17
FrankHB 2022-09-10 11:12:12 +08:00
@documentzhangx66 基于半吊子 FS 元数据的去重,一旦出点意外,恢复数据体验跟屎一样。( Win Server 2012 时代的受害者路过。)现在宁可手动 judpes 。
更重要的是,你看清楚,OP 的场景你这玩意儿根本不顶用。 |
19
documentzhangx66 2022-09-10 12:13:38 +08:00
@FrankHB
你这是吃螃蟹受害了。 根据: https://docs.microsoft.com/en-us/windows-server/storage/data-deduplication/install-enable Windows Server 的去重功能,是 Windows Server 2016 才开始正式推广的。你在 Windows Server 2012 就开始用,当然容易出问题。 另外,生产系统,需要做备份。没做备份数据丢了恢复起来当然麻烦。 |
20
FrankHB 2022-09-11 01:15:40 +08:00
@documentzhangx66 重要数据当然有备份,所以受害的主要还不是数据,而是时间。
最大的教训是策略方面的问题:要想持久数据(包括文件系统元数据自身,比如文件创建时间)真正可靠,就不要依赖文件系统层次上的半吊子功能,而应该在更高的层次上冗余,因为文件系统暴露给 UI 直接提供的最终用户的功能极其有限,一旦出问题难以短期内选择数据的二进制映像恢复回正常操作状态(有源码的都看的要死,更别提 Windows 上一堆找不到源码的)。文件系统去重只能作为在线系统的一种运行时优化。 |
21
1054850490 OP @gdgoldlion 尝试了一下发现不可行,没有正则表达式匹配,虽然有比对视频帧,但是太慢了
|
22
gdgoldlion 2022-09-16 20:08:53 +08:00
@1054850490 支持正则的啊,视频功能没用过
|
23
1054850490 OP @gdgoldlion 它那个正则是哈希查重出来才能对已经查重的文件加以正则去重,并不能一开始就比对正则表达式
|
24
1054850490 OP @gdgoldlion #6 不好意思,是我弄错了,还有一个叫 Duplicate Cleaner 5 的,撞名了,见鬼的是他网站里面也是叫 Duplicate Cleaner Pro
|
25
1054850490 OP @gdgoldlion 22# 结果实测,很疑惑也不支持正则表达式查重
|