Loading

使用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正则表达式中()|需要加\进行转义

posted @ 2021-10-20 19:30  azureology  阅读(2131)  评论(3编辑  收藏  举报