shell脚本,怎么查找项目中的重复图片

要在 iOS 项目中使用 Shell 脚本查找重复图片,可借助计算图片文件哈希值的方法,将哈希值相同的图片判定为重复图片

bash 复制代码
#!/bin/bash

# 定义iOS项目的根目录,需根据实际情况修改
PROJECT_DIR="/path/to/your/ios/project"

# 定义图片文件的扩展名,可按需添加或修改
IMAGE_EXTENSIONS=("jpg" "jpeg" "png" "gif")

# 创建临时文件用于存储图片的哈希值和文件名
TEMP_FILE="/tmp/image_hashes.txt"

# 遍历指定的图片扩展名
for ext in "${IMAGE_EXTENSIONS[@]}"; do
    # 查找项目目录下指定扩展名的图片文件,并计算其MD5哈希值
    find "$PROJECT_DIR" -type f -iname "*.$ext" -print0 | while IFS= read -r -d '' file; do
        md5_hash=$(md5 -q "$file")
        echo "$md5_hash $file" >> "$TEMP_FILE"
    done
done

# 对临时文件按哈希值进行排序
sort "$TEMP_FILE" -o "$TEMP_FILE"

# 用于记录上一个图片的哈希值和文件名
prev_hash=""
prev_file=""

# 遍历排序后的临时文件,查找重复图片
while read -r line; do
    current_hash=$(echo "$line" | cut -d' ' -f1)
    current_file=$(echo "$line" | cut -d' ' -f2-)
    if [ "$current_hash" = "$prev_hash" ]; then
        echo "发现重复图片: $prev_file 和 $current_file"
    fi
    prev_hash="$current_hash"
    prev_file="$current_file"
done < "$TEMP_FILE"

# 删除临时文件
# rm "$TEMP_FILE"
相关推荐
2501_915909064 小时前
不用越狱就看不到 iOS App 内部文件?使用 Keymob 查看和导出应用数据目录
android·ios·小程序·https·uni-app·iphone·webview
@大迁世界5 小时前
液态玻璃屏正在侵蚀你的电池
macos·ios·objective-c·cocoa
pop_xiaoli6 小时前
【iOS】类与对象底层
macos·ios·objective-c·cocoa·xcode
sp42a6 小时前
NativeScript iOS 平台开发技巧
ios·nativescript·app 开发
2501_915921436 小时前
常用iOS性能测试工具大全及使用指南
android·测试工具·ios·小程序·uni-app·cocoa·iphone
for_ever_love__7 小时前
Objecgtive-C学习实例对象,类对象, 元类对象与 isa指针
c语言·学习·ios
一招定胜负7 小时前
视频转写+LLM分析:课堂录音自动化处理实现
macos·ios·xcode
2501_915918418 小时前
有没有Xcode 替代方案?在快蝎 IDE 中完成 iOS 开发的过程
ide·vscode·ios·个人开发·xcode·swift·敏捷流程
blackorbird8 小时前
通过攻陷合法网站传播的新型iOS漏洞利用工具包DarkSword
macos·ios·objective-c·cocoa
for_ever_love__10 小时前
Objective-C学习 NSSet 和 NSMutableSet 功能详解
开发语言·学习·ios·objective-c