vi編輯字串替換及sed用法

2022-08-13 15:30:16 字數 989 閱讀 7881

1、vi編輯替換檔案中的字串

:s/nice/good/ 替換當前行第乙個 nice為 good

:s/nice/good/g 替換當前行所有 nice 為 good

:n,$s/nice/good/ 替換第 n 行開始到最後一行中每一行的第乙個 nice 為 good

:n,$s/nice/good/g 替換第 n 行開始到最後一行中每一行所有 nice 為 good

n 為數字,若 n 為 .,表示從當前行開始到最後一行

:%s/nice/good/(等同於 :g/nice/s//good/) 替換每一行的第乙個 nice 為 good

:%s/nice/good/g(等同於 :g/nice/s//good/g) 替換每一行中所有 nice 為 good

可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符

:s#nice/#good/# 替換當前行第乙個 nice/ 為 good/

:%s#/usr/bin#/bin#g

把檔案中所有路徑/usr/bin換成/bin

2、sed -i批量替換檔案中的字串

格式: sed -i "s/查詢字段/替換字段/g" `grep 查詢字段 -rl 路徑`

sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

例如:替換/home/ock下所有檔案中的nice為book

sed -i "s/nice/book/g" `grep nice -rl /home`

exp:sed -i "s/shabi/$/g" `grep shabi -rl ./`

將檔案1.txt內的文字「garden」替換成「mirgarden」

sed -i "s/garden/mirgarden/g" 1.txt

將當前目錄下的所有檔案內的「garden」替換成「mirgarden」 

sed -i "s/garden/mirgarden/g" 

sed 字串替換

1.sed替換的基本語法為 sed s 原字串 替換字串 單引號裡面,s表示替換,三根斜線中間是替換的樣式,特殊字元需要使用反斜線 進行轉義。2.單引號 是沒有辦法用反斜線 轉義的,這時候只要把命令中的單引號改為雙引號就行了,格式如下 要處理的字元包含單引號 sed s 原字串包含 替換字串包含 3...

sed 字串替換

1.sed替換的基本語法為 sed s 原字串 替換字串 單引號裡面,s表示替換,三根斜線中間是替換的樣式,特殊字元需要使用反斜線 進行轉義。2.單引號 是沒有辦法用反斜線 轉義的,這時候只要把命令中的單引號改為雙引號就行了,格式如下 要處理的字元包含單引號 sed s 原字串包含 替換字串包含 3...

vi編輯器 字串替換

在unix linux中的vi vim編輯中可以使用 s 命令來替換字串。以前只會使用一種格式來全文替換,今天發現該命令有很多種寫法,而且作用十分強大,還有很多需要學習,記錄幾種常用的在此,方便以後查詢。s procat law 替換當前行第乙個 procat為 law s procat law g...