sed 字符串替換


1. sed替換的基本語法為:

sed 's/原字符串/替換字符串/'

單引號里面,s表示替換,三根斜線中間是替換的樣式,特殊字符需要使用反斜線”\”進行轉義。

2. 單引號” ‘ ’”是沒有辦法用反斜線”\”轉義的,這時候只要把命令中的單引號改為雙引號就行了,格式如下:

# 要處理的字符包含單引號
sed "s/原字符串包含'/替換字符串包含'/"

3. 命令中的三根斜線分隔符可以換成別的符號,有時候替換目錄字符串的時候有較多斜線,這個時候換成其它的分割符是較為方便,只需要緊跟s定義即可。

# 將分隔符換成問號”?”:
sed 's?原字符串?替換字符串?'


4. 可以在末尾加g替換每一個匹配的關鍵字,否則只替換每行的第一個,例如:

# 替換所有匹配關鍵字
sed 's/原字符串/替換字符串/g'

5. 一些特殊字符的使用

  ”^”表示行首

  ”$”符號如果在引號中表示行尾,但是在引號外卻表示末行(最后一行)
  

# 注意這里的 " & " 符號,如果沒有 “&”,就會直接將匹配到的字符串替換掉
sed 's/^/添加的頭部&/g'      #在所有行首添加 sed 's/$/&添加的尾部/g'      #在所有行末添加 sed '2s/原字符串/替換字符串/g'  #替換第2行 sed '$s/原字符串/替換字符串/g' #替換最后一行 sed '2,5s/原字符串/替換字符串/g' #替換2到5行 sed '2,$s/原字符串/替換字符串/g' #替換2到最后一行

 

6.批量替換字符串

sed -i "s/查找字段/替換字段/g" `grep 查找字段 -rl 路徑`
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir

 

7. sed處理過的輸出是直接輸出到屏幕上的,使用參數”i”直接在文件中替換。

# 替換文件中的所有匹配項
sed -i 's/原字符串/替換字符串/g' filename

8. 多個替換可以在同一條命令中執行,用分號”;”分隔,其格式為:

# 同時執行兩個替換規則
sed 's/^/添加的頭部&/g;s/$/&添加的尾部/g'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM