[shell]修改ini配置文件

有配置文件config.ini,内容如下:

[host]
host_conf=appts.xxxx.com

我想要修改host_conf=appts.xxxx.com(预生产环境)的内容为host_conf=appapi.xxxx.com(线上环境)

配置脚本如下:

host=appapi.xxxx.com 测试数据
host_env="hostconf=${host}" #这里注意使用双引号
line=$(sed -n '/host_conf/=' config.ini)  #获取要修改文件的行号
newline=$(expr $line - 1)#计算插入文件的新的位置(后面使用追加方式修改文本,故这里上 line-)
sed  -i  "$line  d"   config.ini#删除行
sed -i "${newline} a\\${host_env}" config.ini#将拼接好的字符串写入行

执行效果:

文件修改生效

猜你喜欢

转载自www.cnblogs.com/kaerxifa/p/12737315.html