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

來源:互聯網
上載者:User

標籤:

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 能夠協助實現一些強大的、即時的轉換。認真研究Regex,並正確地使用,將會為您省去大量的手工編輯工作。

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" *

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.