用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 表示輸出匹...