作为测试,日常更新部署测试版本,修改配置文件是每天必不可少的一个工作。特别是如果需要更改的配置文件存在于多个文件里,更是繁琐不堪。
找了一下Linux shell脚本里有个sed 命令可以实现这个需求
$OldStr是要被替换的字符串
$NewStr是替换的新字符串
SfileName是修改的文件
sed -i "s/$OldStr/$NewStr/g" $fileName
Note:s/和/g是固定格式
例子:
sed -i "s/10.203.105.42:5672/10.203.105.59:5672/g" config/configuration.properties
这个例子是说把config下的configuration.properties文件中所有10.203.105.42:5672替换成10.203.105.59:5672.
Note:如果文件里有多行相同的字段,但是只有某些行需要替换,其他不需要替换。就可以更精确一点,再加个行号
如:
sed -i "s/10.203.105.42:5672/10.203.105.59:5672/g" config/configuration.properties
如果需要替换特殊的字符:路径替换
https://blog.csdn.net/sch0120/article/details/80323904
这个就是把config下的configuration.properties文件中第4行的10.203.105.42:5672替换成10.203.105.59:5672。其余行如果还有10.203.105.42:5672,则不替换。