#!/bin/bash# 最终导出脚本 - 使用模板批量转换所有章节到新文件夹TEMPLATE="output/chapters/目录-修订.docx"OUTPUT_DIR="output-final"DOCX_DIR="${OUTPUT_DIR}/docx"MEDIA_DIR="${OUTPUT_DIR}/media"REPORTS_DIR="${OUTPUT_DIR}/reports"echo "========================================="echo "OpenClaw教程 - 最终导出"echo "========================================="echo ""# 检查模板文件if [ ! -f "$TEMPLATE" ]; thenecho "❌ 错误: 模板文件不存在: $TEMPLATE"exit 1fiecho "✓ 模板文件: $TEMPLATE"echo "✓ 输出目录: $OUTPUT_DIR"echo ""# 清理并创建目录rm -rf "$OUTPUT_DIR"mkdir -p "$DOCX_DIR" "$MEDIA_DIR" "$REPORTS_DIR"# 复制模板到输出目录cp "$TEMPLATE" "$DOCX_DIR/00-模板.docx"# 计数器total=0success=0failed=0echo "开始转换章节..."echo ""# 按顺序转换所有章节for file in docs/*/*.md; doif [ -f "$file" ] && [[ ! "$file" =~ \.backup$ ]] && [[ ! "$file" =~ \.emoji-backup$ ]]; thenfilename=$(basename "$file" .md)# 提取章节号if [[ "$filename" =~ ^([0-9]+)- ]]; thenchapter_num="${BASH_REMATCH[1]}"chapter_name=$(echo "$filename" | sed 's/^[0-9]*-//')output_name="第${chapter_num}章-${chapter_name}.docx"media_subdir="ch${chapter_num}"display_name="第${chapter_num}章"elseoutput_name="${filename}.docx"media_subdir="${filename}"display_name="${filename}"fioutput_file="${DOCX_DIR}/${output_name}"echo -n "[$((total+1))] 转换 ${display_name}... "# 执行转换if pandoc "$file" \-o "$output_file" \--from markdown \--to docx \--reference-doc="$TEMPLATE" \--extract-media="${MEDIA_DIR}/${media_subdir}" \2>/dev/null; then# 获取文件大小size=$(ls -lh "$output_file" | awk '{print 5ドル}')echo "✓ ($size)"((success++))elseecho "❌ 失败"((failed++))fi((total++))fidoneecho ""echo "========================================="echo "转换完成!"echo "========================================="echo "总计: $total 个文件"echo "成功: $success 个"echo "失败: $failed 个"echo ""# 生成文件清单echo "生成文件清单..."cat > "${REPORTS_DIR}/文件清单.txt" << EOFOpenClaw教程 - 最终交付文件清单生成时间: $(date '+%Y-%m-%d %H:%M:%S')========================================一、DOCX文件 (${DOCX_DIR})========================================EOFls -lh "$DOCX_DIR" | grep "\.docx$" | awk '{printf "%-50s %8s\n", 9,ドル 5ドル}' >> "${REPORTS_DIR}/文件清单.txt"cat >> "${REPORTS_DIR}/文件清单.txt" << EOF========================================二、图片文件 (${MEDIA_DIR})========================================EOFfind "$MEDIA_DIR" -type f | wc -l | xargs echo "图片总数:" >> "${REPORTS_DIR}/文件清单.txt"du -sh "$MEDIA_DIR" | awk '{print "总大小:", 1ドル}' >> "${REPORTS_DIR}/文件清单.txt"echo ""echo "========================================="echo "输出位置"echo "========================================="echo "DOCX文件: $DOCX_DIR"echo "图片文件: $MEDIA_DIR"echo "报告文件: $REPORTS_DIR"echo ""echo "✓ 完成!"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。