yq
是一个强大的命令行工具,用于读取和写入 YAML 文件,可以方便地处理嵌套的YAML结构。以下是一个使用 yq
修改嵌套YAML文件的例子:
假设你有一个如下所示的 YAML 文件(config.yml):
yaml
server:
port: 8080
ssl:
enabled: false
cert: /path/to/cert.pem
如果你想将 ssl.enabled
的值修改为 true
,你可以这样做:
bash
yq w -i config.yml 'server.ssl.enabled' true
这里 -i
参数表示在原文件上进行修改(inline),server.ssl.enabled
是你要修改的路径表达式,它对应到嵌套结构中的 enabled
字段。
所以执行上述命令后,你的config.yml文件会变为:
yaml
server:
port: 8080
ssl:
enabled: true
cert: /path/to/cert.pem
请注意,这里的 yq
版本是基于Go语言实现的版本https://github.com/mikefarah/yq 其他版本的yq
工具可能语法有所不同。