使用sed修改yaml配置文件

需求

通过shell对yaml配置文件进行修改,要求具有通用性,不依赖其他工具。
配置文件内容如下

system_config:
  maximum_retry: 8
  enable_log: true

变量范围:
maximum_retry取值0-9
enable_log取值true/false

实现

使用sed工具对yaml文件进行正则表达式替换

# set maximum_retry = 4
sed -i 's/maximum_retry: [0-9]/maximum_retry: 4/g' config.yaml
# set enable_log = false
sed -i 's/enable_log : (true|false)/enable_log : false/g' config.yaml

注意:sed正则表达式中()|需要加进行转义

原文地址:https://www.cnblogs.com/azureology/p/15430331.html