1. 程式人生 > >vim 編輯器和 sed 命令的字串替換

vim 編輯器和 sed 命令的字串替換

一、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'