shell>sed (對文件的內容進行替換)

在生產環境中經常會遇到對配置文件的修改,那寫成一個腳本,傳個參數修改配置文件不就方便多了嗎。
對一個文件的操作那我暫且分爲增刪改查了


寫在前面

  • -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命令傳遞參數

sed -i "/hahaha/c ${param}" test.ini #注意使用雙引號,${}使用環境變量

參考文檔
【CSDN----Shell 文件內容替換 sed用法】
【博客園----sed命令用法】
【CSDN—三劍客之Sed關於 p、a、d、w、i 、c 模式的乾貨】


  • sed正則表達式
    在這裏插入圖片描述
  • sed常用選項
    在這裏插入圖片描述
  • sed操作命令
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章