如何解决yq 将数据附加到 yaml 文件中
我有一个这样的 YAML 文件 file.yaml:
category: fruits
some_dummy_key: value
现在我想使用 Mike farah 的 yq v4(具体是 4.5.1 版)https://github.com/mikefarah/yq 来附加 details
键,它有一个名称和颜色列表,看起来应该是这样的:
category: fruits
somme_dummy_key: value
details:
- name: banana
color: yellow
- name : apple
color: red
在 yq 版本中,我知道我们可以做一个
./bin/yq write -i file.yaml details.[0].name banana
./bin/yq write -i file.yaml details.[0].color yellow
等等。但是我如何使用 yq v4 的 eval 命令来做到这一点。我非常感谢您对此的任何帮助。
解决方法
这是如何做到的。您必须创建一个名为 details 的新根值并分配参数。
cbiswal@XXXXX:~$ cat tet.yaml
category: fruits
somme_dummy_key: value
cbiswal@XXXXX:~$ yq e '."details"=[{"name":"mango","color":"yellow"},{"name":"apple","color":"red"}]' tet.yaml
category: fruits
somme_dummy_key: value
details:
- name: mango
color: yellow
- name: apple
color: red
注意:
$ yq --version
yq version 4.7.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。