0

我有一个像这样结构的 .yml 文件

key_1:
   some_other_key
   owners: value
key_2:
   some_other_key
   owners: value
key_3:
   some_other_key
   owners: value

我正在尝试获取顶级密钥和所有者的价值,因此输出就像

key_1, owners.value
key_2, owners.value
key_3, owners.value

有没有办法用 yq 做到这一点?

4

2 回答 2

0

您可以使用 oneliner 进行转换。

使用yq(Python 版本) yq -r 'to_entries[] | "\(.key), \(.value.owners)"'

使用yq (Go 版本) yq e 'to_entries | .[] | .key + ", " + .value.owners'

输入

key_1:
   some_other_key: other_value
   owners: value_1
key_2:
   some_other_key: other_value
   owners: value_2
key_3:
   some_other_key: other_value
   owners: value_3

输出

key_1, value_1
key_2, value_2
key_3, value_3
于 2021-07-02T12:57:27.760 回答
0

使用yq(Python 版本),您可以使用 oneliner 进行转换。

yq -r 'to_entries[] | "\(.key), \(.value.owners)"'

输入

key_1:
   some_other_key: other_value
   owners: value_1
key_2:
   some_other_key: other_value
   owners: value_2
key_3:
   some_other_key: other_value
   owners: value_3

输出

key_1, value_1
key_2, value_2
key_3, value_3

这不适用于yq(Go 版本)

于 2021-07-02T12:51:12.953 回答