我试图向现有的yml文件中添加新的数组。
例如,test.yml如下所示
visibility:
subscribe:
enabled: true
type: authenticated
view:
enabled: true
type: public我试着把它修改成这样
visibility:
subscribe:
tags: []
orgs: []
enabled: true
type: authenticated
view:
tags: []
orgs: []
enabled: true
type: public我使用了yq来完成这个任务,但是似乎存在一个问题,它没有添加任何新的字段,这是我创建的bash脚本。
yq '.visibility.subscribe |= {"orgs":"[]"} + .' test.yml
yq '.visibility.subscribe |= {"tags":"[]"} + .' test.yml
yq '.visibility.view |= {"orgs":"[]"} + .' test.yml
yq '.visibility.view |= {"tags":"[]"} + .' test.yml我在运用正确的逻辑吗?
发布于 2022-09-23 20:33:36
假设您使用的是包装jq的yq工具(从开始语法上看似乎是这样):
yq '
.visibility.subscribe.orgs = []
| .visibility.subscribe.tags = []
| .visibility.view.orgs = []
| .visibility.view.tags = []
' test.yml...is是实现语义相同的输出的一种更简单的方法(不一定在语法上相同!)达到你规定的/期望的输出。最重要的必要改变是将"[]"改为[]。
注意,新文档被写入stdout --除非使用了test.yml参数,否则不会就地修改-i。
https://stackoverflow.com/questions/73832633
复制相似问题