21 lines
734 B
Bash
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
|