需求
通过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正则表达式中()|
需要加进行转义