一、linux sed 批量替換多個檔案內容
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
其中,grep oldstring -rl yourdir是查尋目錄中檔案內容
如將indexeddb目錄裡的檔案內容替換 #
idbtransaction.read_only替換為
"readonly"
sed -i "s/idbtransaction.read_only/\"readonly\"/g" `grep "idbtransaction.read_only" -rl indexeddb/` #
driver.get_current_url()替換為driver.current_url
sed -i "s/driver.get_current_url()/driver.current_url/g" `grep "driver.get_current_url()" -rl webdriver/`
-i 表示inplace edit,就地修改檔案
-r 表示搜尋子目錄
-l 表示輸出匹配的檔名
二、perl命令:
perl -pi -e 's|abcd|linux|g' `find ./ -type f`
將呼叫perl執行一條替換命令,把find命令找到的所有檔案內容中的abcd替換為linux
find ./ -type f
此命令是顯示當前目錄下所有的檔案
上面的「s|abcd|linux|g」是perl要執行的指令碼,即把所有abcd替換為linux
如果不寫最後的那個g,「s|abcd|linux| 」將只替換每一行開頭的abcd
三、行尾匹配
如下:清除行尾的'/'
grep "" -rl ./ |xargs -i% sed -i 's/\/>$/>/g' %
注意表示式:s/ \ /> $/ > /g(即'/>' to '>')
幾點說明:
1."^"代表行首,"$"代表行尾
2.'s/$/&tail/g'中的字元g代表每行出現的字元全部替換,如果想在特定字元處新增,g就有用了,否則只會替換每行第乙個,而不繼續往後找了
3.>> :如果檔案不存在,將建立新的檔案,並將資料送至此檔案;如果檔案存在,則將資料新增在檔案後面
4.> :如果檔案不存在,同上,如果檔案存在,先將檔案清空,然後將資料填入此檔案.
linux sed 批量替換檔案中的字串或符號
sed i 直接修改讀取的檔案內容,而不是輸出到終端。sed i就是直接對文字檔案進行操作的 替換每行第一次出現的字串 sed i s 查詢的字串 替換的字串 檔案 替換檔案中所有出現過的字串 sed i s 查詢的字串 替換的字串 g 檔案 例如,將檔案gaoweiliushi 201809 08...
python批量替換資料夾內的檔案內容
author jingyuan import os import re 要改的資料夾 dir e testscript 要改的檔案型別 可以輸入多個 file type htm 替換表 可以用python正規表示式 look up table map list a c a b def get fil...
python批量替換檔案內的字串
coding utf 8 import os import io def alter file,old str,new str 替換檔案中的字串 param file 檔名 param old str 就字串 param new str 新字串 return file data with io.op...