update at 2025-10-15 15:36:54
This commit is contained in:
60
test-release-extract.sh
Executable file
60
test-release-extract.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user