Yaml yq从键值对获取值
我有一个简单的values.yaml文件,其中包含以下数据:Yaml yq从键值对获取值,yaml,jq,yq,Yaml,Jq,Yq,我有一个简单的values.yaml文件,其中包含以下数据: images: tags: one: abc:v0.3-16-07 two: xyz:ng-0.23.0 pq: qaa:0df1e21e752b3d3.2020-04-27_1 使用 yq -r --yaml-output ".images.tags" values.yaml 我可以得到低于输出 one: abc:v0.3-16-07 two: xyz:ng-0.23.0 pq: qaa:0df1e2
images:
tags:
one: abc:v0.3-16-07
two: xyz:ng-0.23.0
pq: qaa:0df1e21e752b3d3.2020-04-27_1
使用
yq -r --yaml-output ".images.tags" values.yaml
我可以得到低于输出
one: abc:v0.3-16-07
two: xyz:ng-0.23.0
pq: qaa:0df1e21e752b3d3.2020-04-27_1
但是如何从上面得到值呢?您不需要使用
--yaml output
标志,它尝试解析定义为yaml实体的过滤器的输出。要获取原始字符串,请在JSON上下文本身中使用过滤器
yq -r '.images.tags[]'
找到了答案,伊尼安发布了一个答案,但有一点变化
yq-r'.images.tags | to_entries[].value | split(“:”[0]”values.yaml
如果只需要值,那么您可以简化为yq-r'.images.tags[]'输入
@luciole75w:我实际上认为OP需要值的第二部分,所以使用将条目
与拆分()
一起使用。现在进行编辑