linux中的文字的批量替換

2021-09-02 12:23:20 字數 637 閱讀 4665

1) 檔案內全部替換:

:%s#abc#123#g (如檔案內有#,可用/替換,:%s/abc/123/g,如果替換或被替換內容中有/(特別是路徑),可用\/轉義)

--注:把abc替換成123

(或者: %s/str1/str2/g 用str2替換檔案中所有的str1)

2) 檔案內區域性替換:

:20,30s#abc#123(如檔案內有#,可用/替換,:%s/abc/123/g)

--注:把20行到30行內abc替換成123

3)資料夾下全部替換:

格式: sed -i "s/查詢字段/替換字段/g" `grep 查詢字段 -rl 路徑`,注意別漏了兩個`

例如:替換/home下所有檔案中的www.admin99.net為admin99.net

sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home`

加grep是為了提高效率,只有存在www.admin99.net的才執行替換

如果只替換單個檔案,可以直接用下面的命令

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

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

linux中批量替換文字中字串

一 通過vi編輯器來替換。vi vim 中可以使用 s 命令來替換字串。s well good 替換當前行第乙個 well 為 good s well good g 替換當前行所有 well 為 good n,s well good 替換第 n 行開始到最後一行中每一行的第乙個 well 為 goo...

linux中批量替換文字中字串

一 通過vi編輯器來替換。vi vim 中可以使用 s 命令來替換字串。s well good 替換當前行第乙個 well 為 good s well good g 替換當前行所有 well 為 good n,s well good 替換第 n 行開始到最後一行中每一行的第乙個 well 為 goo...

linux批量替換多個檔案中的相同字段

最近跑的程式都有很多個case,各個case之間除了輸入資料檔案不同,其他 都一樣,有時候要修改模式的解析度,乙個case還好,幾十個case挨個改太費時間了。於是刷各種部落格和解釋發現sed命令很方便 sed s resolution 0.1 resolution 1 g i grep wrl r...