vim 編輯器和 sed 命令的字串替換
阿新 • • 發佈:2018-12-16
一、vim編輯器字串替換
1、開啟需要編輯的檔案
2、執行如下命令
#oldstring 為需要被替換的字串
#newstring 用來替換的新字串
#替換是替換全部oldstring為newstring
%s/oldstring/newstring/g
二、sed 命令進行字串替換
1、sed替換的基本語法
#替換單個字串
sed 's/oldstring/newstring/'
#替換所有滿足的字串
sed 's/oldstring/newstring/'
單引號裡面,s表示替換,三根斜線中間是替換的樣式,特殊字元需要使用反斜線”\”進行轉義,若需要處理含有" ' "(單引號)的字串,則使用雙引號處理。
2、也可更換語句中的反斜線為其他字元如:"?",但是需要緊跟s後面進行定義
sed 's?oldstring?newstring?'
3、 一些特殊字元的使用
注:此條為引用資源文末註明出處
”^”表示行首
”$”符號如果在引號中表示行尾,但是在引號外卻表示末行(最後一行)
# 注意這裡的 " & " 符號,如果沒有 “&”,就會直接將匹配到的字串替換掉 sed 's/^/新增的頭部&/g' #在所有行首新增 sed 's/$/&新增的尾部/g' #在所有行末新增 sed '2s/原字串/替換字串/g' #替換第2行 sed '$s/原字串/替換字串/g' #替換最後一行 sed '2,5s/原字串/替換字串/g' #替換2到5行 sed '2,$s/原字串/替換字串/g' #替換2到最後一行
4、檔案內字元替換
sed -i "s/oldstring/newstring/g" `grep oldstring -rl path`
-i選項是直接在檔案中替換,不在終端輸出;
-r選項是所給的path中的目錄遞迴查詢;
-l選項是輸出所有匹配到oldstring的檔案;
path是所替換檔案的路徑(批量),也可直接跟檔名替換(單個檔案),方式如下:
sed -i "s/oldstring/newstring/g" filename
5、也可同時使用多個替換條件,各替換用分號”;”分隔,其格式為:
注:本條為引用資源,文末貼出出處。
# 同時執行兩個替換規則(此方法暫時還不會使用,先記為敬) sed 's/^/新增的頭部&/g;s/$/&新增的尾部/g'