SunnyFarm/export_copyright_code.sh
superlishunqin 364b7acbb7 END
2025-10-10 23:22:52 +08:00

130 lines
3.3 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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 "✅ 代码导出成功!"