yq 从键值对中获取值
yq to get values from key value pair
我有一个简单的 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:0df1e21e752b3d3.2020-04-27_1
但是我怎样才能从上面得到值呢?
您不需要使用 --yaml-output
标志,它会尝试解析定义为 YAML 实体的过滤器的输出。要获取原始字符串,请在 JSON 上下文本身
中使用过滤器
yq -r '.images.tags[]'
找到答案,Inian 发布了一个答案,但有一个小改动
yq -r '.images.tags | to_entries[].value | split(":")[0]' values.yaml
我有一个简单的 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:0df1e21e752b3d3.2020-04-27_1
但是我怎样才能从上面得到值呢?
您不需要使用 --yaml-output
标志,它会尝试解析定义为 YAML 实体的过滤器的输出。要获取原始字符串,请在 JSON 上下文本身
yq -r '.images.tags[]'
找到答案,Inian 发布了一个答案,但有一个小改动
yq -r '.images.tags | to_entries[].value | split(":")[0]' values.yaml