bash - 使用多个数组的组合创建文本
问题描述
我有一些指标,比如route/api_1_test/POST/time/200.avg
api_1_test 是route
, POST 是method
, time 是metric_name
, 200 是status_code
avg 是metric_type
. 我有路由、方法、status_code 和 metric_type 的数组。我想使用以下文本创建一个包含所有可能的数组组合的配置文件
- name: finagle_route_<metric_name>
path: $.route/<route>/<method>/<metric_name>/<status_code>.<metric_type>
labels:
route: <route>
method: <method>
status: <status_code>
type: <metric_type>
我该如何为此编写一个 for 循环?
解决方案
#!/bin/bash
set -f
for route in $(<routes); do
for method in $(<methods); do
for name in $(<metric_names); do
for code in $(<http_status_codes); do
for type in $(<types); do
echo -e "- name: fingale_route_$name\n path: \$.route/$route/$method/$name/$code.$type\n labels:\n status:$code\n type:$type\n method:$method\n route:$route\n"
done
done
done
done
done
推荐阅读
- scala - spark scala 读取带有行分隔符的文本文件
- javascript - 创建自定义 HTML 元素的新实例
- wordpress - Wordpress 插件升级后插件内容类型 URL 中断
- html - 如何从 html 文档中查找 utf8 代码?
- reactjs - 如何在反应中阻止特殊字符?
- sql - SQL - 非空值分组
- epicorerp - BPM 即使在删除后仍然运行 (Epicor)
- arrays - NodeJS - 如何以指定格式创建包含数组的 JSON 文件?
- c++ - 将鼠标悬停在问题上时,与预期的“>”有关的代码错误
- c# - CancellationTokenSource 始终取消令牌 - C#