shell解析xml文件


centos安裝xml2

yum install xml2

測試文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

    <properties>
        <comment>
            PowerEngine Main Configuration
        </comment>
        <entry key="CurrentMode">Mode.DEV</entry>

        <entry key="Mode.DEV">
            classpath:/config/mode/dev/peconfig.xml
        </entry>

        <entry key="Mode.TEST">
            classpath:/config/mode/test/peconfig.xml
        </entry>

        <entry key="Mode.PRO">
            classpath:/config/mode/pro/peconfig.xml
        </entry>

        <entry key="Mode.UAT">
            classpath:/config/mode/uat/peconfig.xml
        </entry>
        <entry key="CommonConfig">
            classpath:/config/pe/*.xml
            classpath:/config/dubbo/*.xml,
            classpath:/config/trs/*.xml,
            classpath:/config/db/*.xml
        </entry>

解析文件並替換內容

xml2 < test.xml > test.txt
sed -i 's#/properties/entry=Mode.DEV#/properties/entry=Mode.PRO#g' test.txt
/properties/comment=
/properties/comment=        PowerEngine Main Configuration
/properties/comment=
/properties/entry/@key=CurrentMode
/properties/entry=Mode.DEV
/properties/entry
/properties/entry/@key=Mode.DEV
/properties/entry=
/properties/entry=		classpath:/config/mode/dev/peconfig.xml
/properties/entry=
/properties/entry
/properties/entry/@key=Mode.TEST
/properties/entry=
/properties/entry=		classpath:/config/mode/test/peconfig.xml
/properties/entry=
/properties/entry
/properties/entry/@key=Mode.PRO
/properties/entry=
/properties/entry=		classpath:/config/mode/pro/peconfig.xml
/properties/entry=
/properties/entry
/properties/entry/@key=Mode.UAT
/properties/entry=
/properties/entry=		classpath:/config/mode/uat/peconfig.xml
/properties/entry=
/properties/entry
/properties/entry/@key=CommonConfig
/properties/entry=
/properties/entry=		classpath:/config/pe/*.xml
/properties/entry=		classpath:/config/dubbo/*.xml,
/properties/entry=		classpath:/config/trs/*.xml,
/properties/entry=		classpath:/config/db/*.xml
/properties/entry=

恢復為xml格式文件

echo '<?xml version="1.0" encoding="UTF-8" ?>' > test.xml
echo '<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">' >> test.xml
2xml < test.txt >> test.xml


免責聲明!

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



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