ds photo 多次上传了重复图片,群晖自带的文件检索删除太慢,需要一个一个删除。初期打算用python 批量删除,可惜网上的教程都需要注册码邀请之类的
比如
https://www.52pojie.cn/thread-761147-1-1.html
http://www.gebi1.com/thread-284661-1-18.html
百度了一下,找到一个程序可以批量删除
https://www.xuebuyuan.com/3204765.html
- #!/bin/bash
- #name:remove_one.sh
- #用途:查找并删除重复文件,每个文件只保留一个样本
- #将文件依据大小排序并输出
- ls -lS | awk 'BEGIN {
- #得到第一行total总数并丢弃,读取下一行
- getline;getline;
- name1=$9;size=$5;
- }
- {
- name2=$9;
- if(size==$5)
- #大小一样的可能是内容相同的文件
- {
- #用md5进行校验和
- ("md5sum "name1)|getline; csum1=$1;
- ("md5sum "name2)|getline; csum2=$1;
- #如果校验和相同则为内容相同的文集,输出名字
- if( csum1==csum2 )
- {
- {print name1;print name2}
- }
- };
- size=$5;name1=name2;
- }' | sort -u > duplicate_files
- #计算重复文件的md5sum,将重复文件中的一采样写入duplicate_sample中
- cat duplicate_files|xargs -I {} md5sum {}| sort | uniq -w 32 | awk '{print $2}' | sort -u > duplicate_sample
- echo Removing...
- #删除在duplicate_files中列出且未被duplicate_sample列出的全部文件
- comm duplicate_files duplicate_sample -2 -3|tee /dev/stderr|xargs rm
- echo Removed duplicates files successfully
复制代码 保存为*.sh 文件
执行:
需要root权限
先执行
sudo -i
然后
sh *.sh
过滤的是当前目录下的,不处理目录,不递归处理子目录
|
|