iej*_*j94 14 yaml edit-in-place yq
我在 yq 版本 2.12.0 的就地编辑标志方面遇到了大问题。我们正在尝试更新 .yaml 脚本之一中变量的值。之前的样子是这样的……
authentication:
anonymous:
enabled: false
Run Code Online (Sandbox Code Playgroud)
但我们想要这个
authentication:
anonymous:
enabled: true
Run Code Online (Sandbox Code Playgroud)
我们尝试过奔跑
sudo yq -y ".authentication.anonymous.enabled |= true" sample.yml
Run Code Online (Sandbox Code Playgroud)
但它会覆盖整个文件并使其空白:/我们当前的解决方法是运行
sudo yq -y ".authentication.anonymous.enabled |= true" sample.yml > newfile.yml
sudo cp newfile.yml sample.yml
Run Code Online (Sandbox Code Playgroud)
所以基本上我们创建了我们想要的正确输出,但只需将其推送到一个新文件中,然后将新内容复制到旧文件中(我知道这是一个完整的考验)。必须有更好的方法来完成此任务...有人可以告诉我如何正确使用 yq --in-place 标志编辑文件吗?
jps*_*eng 20
使用yq您可以就地编辑文件:
yq -i e '.authentication.anonymous.enabled |= true' sample.yml
yq确实提供 yaml 文件的就地编辑:
来自 README.MD:
With -y/-Y, files can be edited in place like with sed -i: yq -yi .foo=1 *.yml
Run Code Online (Sandbox Code Playgroud)
yq -yi '.authentication.anonymous.enabled |= true' sample.yml
| 归档时间: |
|
| 查看次数: |
24971 次 |
| 最近记录: |