Linux下批量替換檔案內容方法

2021-09-08 14:11:00 字數 1497 閱讀 7300

1:查詢

find . -type f -name "*.html"|xargs grep 『yourstring』

2:查詢並替換

find -name '要查詢的檔名' | xargs perl -pi -e 's|被替換的字串|替換後的字串|g'

perl -pi -e

在perl 命令中加上-e 選項,後跟一行**,那它就會像執行乙個普通的perl 指令碼那樣執行該**.

從命令列中使用perl 能夠幫助實現一些強大的、實時的轉換。認真研究正規表示式,並正確地使用,將會為您省去大量的手工編輯工作。

3:批量修改資料夾許可權

find . -type -d -name *.html|xargs chmod 755

4:批量修改檔案許可權

find . -type -f -name *.html|xargs chmod 644

查詢和替換是很常用的操作。

這裡介紹的小小技巧可以使你很輕鬆地完成大量重複、繁瑣的工作。

以例子進行說明

在當前目錄下的.c檔案中查詢字串"password"

grep "password" *.c

在當前目錄及其多個子目錄中查詢檔案test.c

find . -name "test.c" -print

在當前目錄及其多個子目錄中查詢.vbs檔案並刪除之

find . -name "*.vbs" -exec rm {} \;

在當前目錄及其多個子目錄下的.c檔案中查詢字串"password"

find . -name "*.c" -print | xargs grep "password"

在當前目錄下的.c檔案中把字串"password"替換成"pwd"

perl -pi -e 's/password/pwd/g' *.c

在當前目錄下的.c檔案中把字串"password"替換成"pwd"並以.bak副檔名備份

perl -pi.bak -e 's/password/pwd/g' *.c

在當前目錄及子目錄下的.c檔案中替換字串"password"為"pwd"

find . -name "*.c" -print | xargs perl -pi -e 's/password/pwd/g'

使用sed操作批量替換

格式: sed -i "s/查詢字段/替換字段/g" `grep 查詢字段 -rl 路徑`

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

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

例如:替換/home下所有檔案中的www.viiving.com為www.zjant.com

在當前目錄下操作:sed -i "s/www.viiving.com/www.zjant.com/g" *

Linux 下批量替換檔案內容

通常在網路上可以找到的方法是 sed i s oldstring newstring g grep oldstring rl path 但是其中有太多的限制,比如 無法篩選哪些檔案是你不想要的,你只能替換所有grep出來的檔案,我在專案裡遇到的一種情況是,這樣的替換會同時影響到.svn檔案,導致up...

linux下批量替換檔案內容

1 網路上現成的資料 格式 sed i s 查詢字段 替換字段 g grep 查詢字段 rl 路徑 linux sed 批量替換多個檔案中的字串 sed i s oldstring newstring g grep oldstring rl yourdir 例如 替換 home下所有檔案中的www....

linux下批量替換檔案內容

1 網路上現成的資料 格式 sed i s 查詢字段 替換字段 g grep 查詢字段 rl 路徑 linux sed 批量替換多個檔案中的字串 sed i s oldstring newstring g grep oldstring rl yourdir 例如 替換 home下所有檔案中的www....