[SHELL] 修改xml的內容


解析和修改xml用python比較方便,但如果不方便使用python,可以用sed命令簡單替換

例如,欲替換下面一行中的端口號的值:

<param name="ftpPort">21</param>

可以使用:

new_port="22"
sed '/\<ftpPort\>/s/[0-9]\{2,5\}/'"$new_port"'/' old.xml > new.xml

說明:

<和>用於單詞邊界的匹配,二者連用相當於整詞匹配

s表示對匹配的行進行替換

[0-9]{2,5}表示替換的源為2~5位數字,為正則表達式

當然,對一些在SHELL里面有特殊含義的字符,要加\轉義后傳遞給sed

'"$new_port"'這里用了SHELL里面一個小技巧,將變量的值傳遞給了sed,確保將端口替換為22而不是$new_port這個字符串,大家可以試一下將$new_port前后4個引號去掉的效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM