shell 批量替換多個檔案中字串

2021-06-26 22:55:17 字數 806 閱讀 4031

用sed命令可以批量替換多個檔案中的字串。sed -i "s/原字串/新字串/g" `grep 原字串 -rl 所在目錄`

例如:我要把mahuinan替換為huinanma,執行命令:sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'

這是目前linux最簡單的批量替換字串命令了!

具體格式如下:

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

例項**:sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa`

sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`

自己擴充的解釋:

命令: sed -i "s/oldstring/newstring/g" `grep "oldstring" -rl  path`

解釋一下: -i 在檔案中直接替換,而不是輸出到終端

"s/oldstring/newstring/g"  替換字串的語法,後面的g表示替換所有的

`grep "oldstring" -rl path` : 注意該命令兩邊的引號。

-r:在目錄中遞迴查詢

-l: 輸出找到包含oldstring 的檔名

其實就是乙個sed 命令  :  sed -i "s/oldstring/newstring/g" "包含oldstring的檔案"

而其中包含oldstring的檔案是同過 grep "oldstring" -rl  path 這條命令找出來的

linux sed 批量替換多個檔案中的字串

一 linux sed 批量替換多個檔案中的字串 sed i s oldstring newstring g grep oldstring rl yourdir 例如 替換 home下所有檔案中的www.bcak.com.cn為bcak.com.cn sed i s www.bcak.com.cn ...

Shell 批量替換 刪除檔案中的內容

大量檔案修改同一內容 find name xml xargs perl pi e s 修改前內容 修改後內容 g 此方法用完後會出現檔案丟失問題,不懂為何。我一一對應找到丟失檔案,重新貼上複製提示檔案還在此資料夾下,只不過隱身了。乙個文件修改大量相同內容 sed i s 修改前內容 修改後內容 g ...

sed 單檔案和批量替換多個檔案中內容

格式 單檔案替換 sed i s 原字串 新字串 g 檔名,例如,將test.txt 檔案中的abc 替換成xyz sed i s abc xyz g test.txt 多檔案批量替換 sed i s 原字串 新字串 g grep rl 原字串 所在目錄 grep r 搜尋子目錄查詢,l 表示輸出匹...