4

我有一个简单的 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

但是我怎样才能从上面得到值呢?

4

2 回答 2

4

您不需要使用--yaml-output标志,它会尝试解析定义为 YAML 实体的过滤器的输出。要获取原始字符串,请在 JSON 上下文本身中使用过滤器

yq -r '.images.tags[]'
于 2020-05-13T16:52:55.713 回答
0

找到了答案,Inian 发布了一个答案,但有一个小变化

yq -r '.images.tags | to_entries[].value | split(":")[0]' values.yaml

于 2020-05-13T16:58:01.350 回答