在生產環境中經常會遇到對配置文件的修改,那寫成一個腳本,傳個參數修改配置文件不就方便多了嗎。
對一個文件的操作那我暫且分爲增刪改查了
寫在前面
- -i 這個參數很重要,若需要更改源文件,請配合-i參數使用。
- 一開始對一個空文件進行操作,發現無法操作,寫入一點內容就可以了。
增
sed -i '2a lalala' test.conf #在文件的第二行下面插入一行(lalala)
sed -i '$a hahahaha' test.conf #在文件的最後新增一行(hahaha)
sed -i '1i papapa' test.conf #在第一行前面插入一行(papapa)
刪
sed -i '1d' test.conf #刪除文件的第一行
sed -i '2,$d' test.conf #刪除第二行到最後一行
改
s 後包含在斜槓中的文本是正則表達式,後面跟着的是需要替換的文本。可以通過 g 標誌對行進行全局替換
sed -i 's/^hahaha/papapa/g' test.conf #將所有hahaha替換爲papapa,g表示全局替換
sed -e '1,3d' -e 's/^hahah/papapa/g' test.conf #多重編輯
sed -i '/lalalala/c pupupupu' test.ini #修改包含有lalalalala的一行爲pupupupu
sed -i '1,5y/abcd/ABCD' test.ini #將1到5行的小寫abcd轉換爲大寫的ABCD
sed -i "/hahaha/c ${param}" test.ini #注意使用雙引號,${}使用環境變量
參考文檔
【CSDN----Shell 文件內容替換 sed用法】
【博客園----sed命令用法】
【CSDN—三劍客之Sed關於 p、a、d、w、i 、c 模式的乾貨】
- sed正則表達式
- sed常用選項
- sed操作命令