179 lines
5.6 KiB
Bash
179 lines
5.6 KiB
Bash
|
|
#!/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 "======================================================"
|