批量替換文件內容

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.a.com爲www.b.com

  sed -i "s/www.a.com/www.b.com/g"grep www.a.com -rl /mysites`

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章