【发布时间】:2022-07-29 12:54:07
【问题描述】:
我有一个简单的 yaml 文件,名为 foo.yaml
foo:
- a
- c
bar:
- foo: bar
foo2: bar2
我正在尝试按字母顺序将新值 (b) 添加到 foo。我可以用+= 添加值,但它不会被字母化
$ yq '.foo += "b"' foo.yaml
foo:
- a
- c
- b
bar:
- foo: bar
foo2: bar2
如果我使用+,我可以使用sort,但我只能得到原始值。例如:
$ yq '.foo + "b" | sort()' foo.yaml
- a
- b
- c
我尝试将其设置为 bash 变量,然后将其与 = 一起使用,但它显示为多行文本
$ variable=$(yq '.foo + "b" | sort()' foo.yaml)
$ yq ".foo = \"$variable\"" foo.yaml
foo: |-
- a
- b
- c
bar:
- foo: bar
foo2: bar2
有没有更简单的方法可以按字母顺序将新值插入foo,同时保持 yaml 的其余部分完好无损?
【问题讨论】: