首頁 >運維 >linux運維 >linux怎麼批次取代文件內容

linux怎麼批次取代文件內容

WBOY
WBOY原創
2022-03-11 15:10:3220363瀏覽

方法:1、利用perl指令,語法為「find -name'檔名'|xargs perl-pi-e 's|原內容|新內容|g'」;2、利用sed指令,語法為“sed-i "s/原內容/新內容/g" `grep 原內容-rl 目錄`”。

linux怎麼批次取代文件內容

本教學操作環境:linux7.3系統、Dell G3電腦。

linux怎麼批次取代檔案內容

方法一 

#使用perl ,指令如下:

find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'

下面這個範例就是將目前目錄及所有子目錄下的所有pom.xml檔中的”http://repo1.maven.org/maven2“ 替換為”http://localhost:8081/nexus/content /groups/public“.

find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content /groups/public|g'

這裡用到了Perl語言,

perl -pi -e 在Perl 命令中加上-e 選項,後面跟著一行程式碼,那它就會像運行一個普通的Perl 腳本那樣運行該程式碼.

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

find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content/groups/public|g'

方法二 

使用sed指令如下:

sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`

Linux下批次取代多個檔案中的字串的簡單方法。用sed指令可以批次替換多個檔案中的字串。

例如:我要把mahuinan替換 為huinanma,執行指令: 

sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'

這是目前linux最簡單的批次替換字串指令了!

具體格式如下: 

sed -i "s/oldString/newString/g"  `grep oldString -rl /path`

實例程式碼:

sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa`
sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`

相關推薦:《Linux影片教學

以上是linux怎麼批次取代文件內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn