Files
yinmeng-android/change_image_md5.sh
2024-01-23 14:43:56 +08:00

44 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# 检查是否提供了文件夹路径作为参数
if [ $# -ne 1 ]; then
echo "Usage: $0 <folder_path>"
exit 1
fi
# 获取文件夹路径参数
folder_path="$1"
# 检查所提供的路径是否为目录
if [ ! -d "$folder_path" ]; then
echo "Error: '$folder_path' is not a directory."
exit 1
fi
# 获取指定目录的绝对路径
folder_path=$(realpath "$folder_path")
# 检查是否尝试处理根目录
if [ "$folder_path" = "/" ]; then
echo "Error: Refusing to process root directory."
exit 1
fi
# 递归遍历文件夹中的图片文件并修改其内容以更改 MD5 值
find "$folder_path" -type f \( -iname \*.png -o -iname \*.jpg -o -iname \*.jpeg -o -iname \*.webp -o -iname \*.svg \) -print0 | while IFS= read -r -d '' img_file; do
echo "Processing $img_file"
# 计算当前文件的MD5值
original_md5=$(md5sum "$img_file" | awk '{print $1}')
# 生成一个随机字符串并附加到文件末尾
random_string=$(date '+%s%N' | md5sum)
echo "$random_string" >> "$img_file"
# 计算修改后的文件的MD5值
modified_md5=$(md5sum "$img_file" | awk '{print $1}')
echo "Original MD5: $original_md5"
echo "Modified MD5: $modified_md5"
echo "---------------------------"
done