如何使用yq根据YAML文件中group值修改对应capacityScaler参数
yq按指定字段筛选修改列表项方法
你可以使用yq的select筛选器实现按group字段匹配修改对应项的capacityScaler值,当前主流的mikefarah/yq v4版本命令如下:
直接输出修改后的内容
yq e '.backends[] |= (select(.group == "https://www.googleapis.com/compute/v1/projects/production/regions/us/instanceGroups/prod-instance-service-green") | .capacityScaler = 0.5)' 你的配置文件路径.yaml
直接修改原文件(加-i参数)
yq e -i '.backends[] |= (select(.group == "https://www.googleapis.com/compute/v1/projects/production/regions/us/instanceGroups/prod-instance-service-green") | .capacityScaler = 0.5)' 你的配置文件路径.yaml
命令逻辑说明
.backends[]:遍历backends数组下的所有元素|=:更新操作符,对遍历到的元素做原地修改select(.group == "目标group值"):筛选出group字段匹配目标值的数组项.capacityScaler = 0.5:将筛选出的项的capacityScaler字段修改为目标值
内容的提问来源于stack exchange,提问作者SimpleNiko
相关产品推荐
相关产品推荐

