在 linux 环境中,我需要通过文件的 md5 删除重复的图像,但在删除之前,我想在文件中写入一些 CSV 列表
已删除的文件 -> 链接的第一个文件 已删除的文件 -> 链接的文件
等等。
问题是我有一个结构
主文件夹 子文件夹 子子文件夹 子子 子文件夹
图片
拥有超过 200.000 个文件
所以脚本应该很不错,不会挂起并且速度很快。
你会建议哪个方向?
我手头有ubuntu。
更新:
我找到了一个脚本,它可以做我需要的小修改。它搜索并找到 md5 重复项并删除重复项。唯一需要的最后一步是制作一个包含已删除文件列表的文件->保留的副本
#!/bin/bash
DIR="/home/gevork/Desktop/webserver/maps.am/all_tiles/dubai_test"
find $DIR -type f -exec md5sum {} \; | sort > /home/gevork/Desktop/webserver/maps.am/all_tiles/dubai_test/sums-sorted.txt
OLDSUM=""
IFS=$'\n'
for i in `cat /home/gevork/Desktop/webserver/maps.am/all_tiles/dubai_test/sums-sorted.txt`; do
NEWSUM=`echo "$i" | sed 's/ .*//'`
NEWFILE=`echo "$i" | sed 's/^[^ ]* *//'`
if [ "$OLDSUM" == "$NEWSUM" ]; then
echo rm "$NEWFILE"
else
OLDSUM="$NEWSUM"
OLDFILE="$NEWFILE"
fi
done