Linux sed命令實現替換文字內容

2022-03-22 18:17:51 字數 1513 閱讀 7833

/root/data/code-s3201/publish_codex/deploy/db.properties

db.properties中的 1.0.0.6 替換為 1.0.0.7

sed -i 's/1.0.0.6/1.0.0.7/' /root/data/code-s3201/publish_codex/deploy/db.properties

cat /root/data/code-s3201/publish_codex/deploy/db.properties | grep '1.0.0.7'

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'

linux sed 批量替換檔案內容

一 linux sed 批量替換多個檔案內容 sed i s oldstring newstring g grep oldstring rl yourdir 其中,grep oldstring rl yourdir是查尋目錄中檔案內容 如將indexeddb目錄裡的檔案內容替換 idbtransac...

linux sed 批量替換檔案中的字串或符號

sed i 直接修改讀取的檔案內容,而不是輸出到終端。sed i就是直接對文字檔案進行操作的 替換每行第一次出現的字串 sed i s 查詢的字串 替換的字串 檔案 替換檔案中所有出現過的字串 sed i s 查詢的字串 替換的字串 g 檔案 例如,將檔案gaoweiliushi 201809 08...

perl命令批量替換檔案內容

使用perl命令批量替換檔案內容。對linux下的檔案內容進行替換,有時不用編寫perl指令碼,用perl命令就可以實現。perl 命令可以批量替換檔案中的一些內容,操作起來非常高效。幾個例子 perl pi e s aaa bbb gi test.txt 把test.txt檔案中的字元aaa替換成...