aurora-rendering-engine/.write.sh

55 lines
1.3 KiB
Bash

#!/bin/bash
# query.sh - 遍历指定文件夹中的 .h 文件并生成 all_headers.md
# 检查是否提供了目录参数
if [ $# -ne 1 ]; then
echo "用法: $0 <目标文件夹路径>"
exit 1
fi
TARGET_DIR="$1"
# 检查提供的路径是否为一个存在的目录
if [ ! -d "$TARGET_DIR" ]; then
echo "错误: 目录 '$TARGET_DIR' 不存在。"
exit 1
fi
# 输出文件
OUTPUT_FILE="all_files.md"
# 清空或创建输出文件
> "$OUTPUT_FILE"
echo "正在扫描目录: $TARGET_DIR"
# 使用 find 命令查找所有 .h 文件
H_FILES=$(find "$TARGET_DIR" -type f -name "*.cpp")
# 检查是否找到了 .h 文件
if [ -z "$H_FILES" ]; then
echo "在目录 '$TARGET_DIR' 及其子目录中未找到任何 .h 文件。"
exit 0
fi
# 遍历找到的每个 .h 文件
for header_file in $H_FILES; do
# 获取相对于脚本执行位置的相对路径
RELATIVE_PATH=$(realpath --relative-to=. "$header_file")
# 写入分隔符和文件名
{
echo "### 文件:$RELATIVE_PATH"
echo ""
echo '```cpp'
cat "$header_file"
echo '```'
echo "" # 添加一个空行,使文件之间有分隔
} >> "$OUTPUT_FILE"
echo "已处理: $RELATIVE_PATH"
done
echo ""
echo "处理完成!所有头文件内容已合并到 $OUTPUT_FILE 中。"