#!/bin/bash # 测试脚本:验证从 release.md 中提取版本信息 echo "🧪 测试版本信息提取逻辑" echo "================================" if [ ! -f release.md ]; then echo "❌ 未找到 release.md" exit 1 fi # 提取最后一个版本号(去掉 ## 和空格) VERSION=$(grep "^## v" release.md | tail -n 1 | sed 's/^## *//') if [ -z "$VERSION" ]; then echo "❌ release.md 中未找到版本号" exit 1 fi echo "📝 提取的版本号: $VERSION" echo "" # 提取该版本块的内容(从版本标题下一行到下一个版本或文件结尾) TAG_MESSAGE=$(awk " /^## $VERSION\$/ { flag=1; next } /^## v[0-9]/ && flag { exit } flag { print } " release.md) echo "📄 提取的内容长度: $(echo "$TAG_MESSAGE" | wc -l) 行" echo "" # 提取标题 RELEASE_TITLE=$(echo "$TAG_MESSAGE" | grep -m 1 "^###" | sed 's/^### *//' | sed 's/^[🎯✨🔧🐛📦]* *//') if [ -z "$RELEASE_TITLE" ]; then RELEASE_TITLE=$(echo "$TAG_MESSAGE" | grep -v "^$" | grep -v "^发布时间:" | head -n 1) fi if [ -z "$RELEASE_TITLE" ]; then RELEASE_TITLE="Release $VERSION" fi echo "📌 提取的标题: $RELEASE_TITLE" echo "" echo "📄 完整内容预览(前20行):" echo "--------------------------------" echo "$TAG_MESSAGE" | head -n 20 echo "--------------------------------" echo "" echo "✅ 测试完成" echo "" echo "🔍 提取结果总结:" echo " 版本号: $VERSION" echo " 标题: $RELEASE_TITLE" echo " 内容行数: $(echo "$TAG_MESSAGE" | wc -l)" echo " 完整标题: $VERSION - $RELEASE_TITLE"