44 lines
1.2 KiB
Bash
Executable File
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 |