130 lines
3.3 KiB
Bash
Executable File
130 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 软著代码导出脚本
|
||
# 目标路径
|
||
OUTPUT_DIR="/Users/lishunqin/Desktop/桃金娘/软著申请相关/德育大模型"
|
||
OUTPUT_FILE="$OUTPUT_DIR/sunnyfarm.txt"
|
||
|
||
# 创建输出目录
|
||
mkdir -p "$OUTPUT_DIR"
|
||
|
||
# 清空或创建输出文件
|
||
> "$OUTPUT_FILE"
|
||
|
||
echo "======================================"
|
||
echo "开始导出软著代码"
|
||
echo "======================================"
|
||
|
||
# 函数:添加文件到输出,删除空白行
|
||
add_file() {
|
||
local file=$1
|
||
local relative_path=${file#./}
|
||
|
||
echo "" >> "$OUTPUT_FILE"
|
||
echo "// ==================== $relative_path ====================" >> "$OUTPUT_FILE"
|
||
echo "" >> "$OUTPUT_FILE"
|
||
|
||
# 删除空白行并追加到输出文件
|
||
grep -v '^[[:space:]]*$' "$file" >> "$OUTPUT_FILE"
|
||
|
||
echo "✓ 已添加: $relative_path"
|
||
}
|
||
|
||
# 1. 导出后端Java代码
|
||
echo ""
|
||
echo "【第一部分:后端Java代码】"
|
||
echo "------------------------------"
|
||
|
||
# 导出Java源码文件
|
||
find ./backend/src/main/java -type f -name "*.java" | sort | while read file; do
|
||
add_file "$file"
|
||
done
|
||
|
||
# 2. 导出后端配置文件
|
||
echo ""
|
||
echo "【第二部分:后端配置文件】"
|
||
echo "------------------------------"
|
||
|
||
# 导出yml配置文件(排除备份文件)
|
||
find ./backend/src/main/resources -type f \( -name "*.yml" -o -name "*.yaml" \) \
|
||
! -name "*.bak*" ! -name "*.backup*" ! -name "*.example" ! -name "*.template" | sort | while read file; do
|
||
add_file "$file"
|
||
done
|
||
|
||
# 导出XML映射文件
|
||
find ./backend/src/main/resources/mapper -type f -name "*.xml" 2>/dev/null | sort | while read file; do
|
||
add_file "$file"
|
||
done
|
||
|
||
# 导出pom.xml
|
||
if [ -f "./backend/pom.xml" ]; then
|
||
add_file "./backend/pom.xml"
|
||
fi
|
||
|
||
# 3. 导出前端代码
|
||
echo ""
|
||
echo "【第三部分:前端Vue/JS代码】"
|
||
echo "------------------------------"
|
||
|
||
# 导出Vue组件
|
||
find ./frontend/src -type f -name "*.vue" \
|
||
! -name "*.bak*" ! -name "*.backup*" | sort | while read file; do
|
||
add_file "$file"
|
||
done
|
||
|
||
# 导出JS文件
|
||
find ./frontend/src -type f -name "*.js" | sort | while read file; do
|
||
add_file "$file"
|
||
done
|
||
|
||
# 4. 导出前端配置文件
|
||
echo ""
|
||
echo "【第四部分:前端配置文件】"
|
||
echo "------------------------------"
|
||
|
||
# package.json
|
||
if [ -f "./frontend/package.json" ]; then
|
||
add_file "./frontend/package.json"
|
||
fi
|
||
|
||
# vite.config.js
|
||
if [ -f "./frontend/vite.config.js" ]; then
|
||
add_file "./frontend/vite.config.js"
|
||
fi
|
||
|
||
# index.html
|
||
if [ -f "./frontend/index.html" ]; then
|
||
add_file "./frontend/index.html"
|
||
fi
|
||
|
||
# 统计信息
|
||
echo ""
|
||
echo "======================================"
|
||
echo "导出完成!"
|
||
echo "======================================"
|
||
echo "输出文件: $OUTPUT_FILE"
|
||
echo ""
|
||
|
||
# 统计代码行数
|
||
total_lines=$(wc -l < "$OUTPUT_FILE")
|
||
echo "总行数: $total_lines"
|
||
|
||
# 统计文件大小
|
||
file_size=$(du -h "$OUTPUT_FILE" | cut -f1)
|
||
echo "文件大小: $file_size"
|
||
|
||
# 统计各部分文件数量
|
||
java_count=$(grep -c "\.java ==" "$OUTPUT_FILE" || echo "0")
|
||
vue_count=$(grep -c "\.vue ==" "$OUTPUT_FILE" || echo "0")
|
||
js_count=$(grep -c "\.js ==" "$OUTPUT_FILE" || echo "0")
|
||
xml_count=$(grep -c "\.xml ==" "$OUTPUT_FILE" || echo "0")
|
||
|
||
echo ""
|
||
echo "文件统计:"
|
||
echo " Java文件: $java_count"
|
||
echo " Vue文件: $vue_count"
|
||
echo " JS文件: $js_count"
|
||
echo " XML文件: $xml_count"
|
||
echo ""
|
||
echo "✅ 代码导出成功!"
|