Files
n8n_Demo/scripts/run_image_organize.sh

179 lines
5.6 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
#====================================================
# 一键执行订单班图片整理脚本
# 功能:统一图片格式、规范命名、修复路径
#====================================================
echo "======================================================"
echo " 订单班图片资源整理工具 v1.0 "
echo "======================================================"
echo ""
# 设置基础路径
BASE_PATH="/Users/xiaoqi/Documents/Dev/Project/2025-09-08_n8nDEMO演示"
DATA_PATH="$BASE_PATH/data/订单班文档资料"
SCRIPT_PATH="$BASE_PATH/scripts"
# 切换到项目目录
cd "$BASE_PATH"
# 选择执行模式
echo "请选择执行模式:"
echo "1. 完整执行(处理所有订单班)"
echo "2. 测试模式(只处理文旅订单班)"
echo "3. 验证模式(只检查不修改)"
echo "4. 修复模式(修复路径问题)"
echo "5. 退出"
echo ""
read -p "请输入选项 (1-5): " choice
case $choice in
1)
echo ""
echo "=== 完整执行模式 ==="
echo ""
# 备份提醒
read -p "是否需要先备份?(y/n): " backup
if [ "$backup" = "y" ]; then
echo "创建备份..."
BACKUP_DIR="$BASE_PATH/backups/backup_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
cp -r "$DATA_PATH" "$BACKUP_DIR/"
echo "✅ 备份完成: $BACKUP_DIR"
fi
echo ""
echo "开始处理..."
# 执行主要的整理脚本
if [ -f "$SCRIPT_PATH/fix_all_orders_images.py" ]; then
python3 "$SCRIPT_PATH/fix_all_orders_images.py"
else
echo "❌ 找不到脚本: fix_all_orders_images.py"
echo "正在创建脚本..."
# 这里可以包含创建脚本的代码
fi
# 修复路径问题
echo ""
echo "修复路径问题..."
python3 "$SCRIPT_PATH/fix_all_markdown_paths.py" 2>/dev/null
python3 "$SCRIPT_PATH/complete_fix_paths.py" 2>/dev/null
# 执行验证
echo ""
echo "验证结果..."
python3 "$SCRIPT_PATH/final_validation.py"
;;
2)
echo ""
echo "=== 测试模式 ==="
echo "只处理文旅订单班..."
# 处理文旅
if [ -f "$SCRIPT_PATH/fix_wenlu_images.py" ]; then
python3 "$SCRIPT_PATH/fix_wenlu_images.py"
else
echo "使用通用脚本处理文旅..."
cd "$DATA_PATH/文旅/notion文稿"
# 重命名Whisk图片
count=1
for file in Whisk*.jpg; do
if [ -f "$file" ]; then
new_name=$(printf "设计图_%02d.jpg" $count)
mv "$file" "image/$new_name" 2>/dev/null
echo "$file$new_name"
((count++))
fi
done
# 重命名场景图片
count=1
for file in *展会*.jpg *签到*.jpg *试驾*.jpg; do
if [ -f "$file" ]; then
new_name=$(printf "场景图_%02d.jpg" $count)
mv "$file" "image/$new_name" 2>/dev/null
echo "$file$new_name"
((count++))
fi
done
fi
echo ""
echo "✅ 测试完成"
;;
3)
echo ""
echo "=== 验证模式 ==="
echo ""
# 运行分析脚本
if [ -f "$SCRIPT_PATH/safe_analyze_images.py" ]; then
python3 "$SCRIPT_PATH/safe_analyze_images.py"
else
# 简单的验证
echo "检查各订单班图片情况:"
for dir in "$DATA_PATH"/*/; do
if [ -d "$dir/notion文稿/image" ]; then
order=$(basename "$dir")
count=$(ls "$dir/notion文稿/image"/*.jpg 2>/dev/null | wc -l)
echo " $order: $count 张图片"
fi
done
fi
echo ""
echo "运行最终验证..."
python3 "$SCRIPT_PATH/final_validation.py"
echo ""
echo "检查URL编码路径..."
url_count=$(grep -r "%[0-9A-F][0-9A-F]" "$DATA_PATH"/*/notion文稿/*.md | grep -E "\.(jpg|jpeg|png)" | wc -l)
echo "URL编码路径数量: $url_count"
if [ $url_count -gt 0 ]; then
echo "显示前5个URL编码路径"
grep -r "%[0-9A-F][0-9A-F]" "$DATA_PATH"/*/notion文稿/*.md | grep -E "\.(jpg|jpeg|png)" | head -5
fi
;;
4)
echo ""
echo "=== 修复模式 ==="
echo ""
# 修复URL编码路径
echo "修复URL编码路径..."
python3 "$SCRIPT_PATH/fix_all_markdown_paths.py"
python3 "$SCRIPT_PATH/complete_fix_paths.py"
# 修复特殊问题如图片_010.jpg
echo ""
echo "修复特殊编号问题..."
cd "$DATA_PATH/交通物流/notion文稿"
sed -i '' 's/图片_010\.jpg/图片_10.jpg/g' *.md 2>/dev/null
echo ""
echo "验证修复结果..."
python3 "$SCRIPT_PATH/final_validation.py"
;;
5)
echo "退出程序"
exit 0
;;
*)
echo "无效选项"
exit 1
;;
esac
echo ""
echo "======================================================"
echo " 执行完成 "
echo "======================================================"