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" `grep www.viiving.com -rl /mysites
在當前目錄下操做:sed -i "s/www.viiving.com/www.zjant.com/g" *html