1. 程式人生 > >比較簡單的替換配置檔案的shell指令碼

比較簡單的替換配置檔案的shell指令碼

作為測試,日常更新部署測試版本,修改配置檔案是每天必不可少的一個工作。特別是如果需要更改的配置檔案存在於多個檔案裡,更是繁瑣不堪。

找了一下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 "4s/10.203.105.42:5672/10.203.105.59:5672/g" config/configuration.properties

這個就是把config下的configuration.properties檔案中第4行的10.203.105.42:5672替換成10.203.105.59:5672。其餘行如果還有10.203.105.42:5672,則不替換。