fusenapi/echo_service_path.sh
2023-07-10 14:59:03 +08:00

21 lines
734 B
Bash

#!/bin/bash
# 初始化输出文件
output_file="server.txt"
echo "" > $output_file
# 遍历所有 *.api 文件
for api_file in server_api/*.api; do
# 提取服务名称
service_name=$(grep -oP 'service\s+\K\w+' $api_file)
# 提取所有以 get 或 post 开头的行,并使用 awk 获取路径
# 将结果保存在一个名为 paths 的数组中
paths=($(grep -E '^\s+(get|post)' $api_file | grep -oP '/\K[^/]*(?=/)' | sort | uniq | awk '{print "/"$1}' | tr '\n' ' '))
# 检查 $paths 是否为空,仅在非空时输出结果
if [[ ! -z "${paths}" ]]; then
# 将服务名称和路径组合成所需的格式,并将结果追加到输出文件
echo "$service_name [${paths[*]}]" >> $output_file
fi
done