使用Linux shell脚本合并xml文件


2

我有2个文件分别名为file1.xml和file2.xml。文件的内容是:

file1.xml

<EJB:Service>
    <EJB:ServiceId>123</EJB:ServiceId>
    <EJB:ServiceName>Checkin</EJB:ServiceName>
    <EJB:JndiName>datasource</EJB:JndiName>
    <EJB:HomeClassName>local</EJB:HomeClassName>
    <EJB:ServerName>Weblogic12345</EJB:ServerName>
</EJB:Service>

<EJB:Service>
    <EJB:ServiceId>456</EJB:ServiceId>
    <EJB:ServiceName>local</EJB:ServiceName>
    <EJB:JndiName>source</EJB:JndiName>
    <EJB:HomeClassName>local</EJB:HomeClassName>
    <EJB:ServerName>Weblogic</EJB:ServerName>
</EJB:Service>  

file2.xml

<EJB:Service>
    <EJB:ServiceId>123</EJB:ServiceId>
    <EJB:ServiceName>Booking</EJB:ServiceName>
    <EJB:JndiName>class</EJB:JndiName>
    <EJB:HomeClassName>Home</EJB:HomeClassName>
    <EJB:ServerName>Weblogic</EJB:ServerName>
</EJB:Service>

我希望输出为:

<EJB:Service>
    <EJB:ServiceId>123</EJB:ServiceId>
    <EJB:ServiceName>Booking</EJB:ServiceName>
    <EJB:JndiName>class</EJB:JndiName>
    <EJB:HomeClassName>Home</EJB:HomeClassName>
    <EJB:ServerName>Weblogic</EJB:ServerName>
</EJB:Service>

<EJB:Service>
    <EJB:ServiceId>456</EJB:ServiceId>
    <EJB:ServiceName>local</EJB:ServiceName>
    <EJB:JndiName>source</EJB:JndiName>
    <EJB:HomeClassName>local</EJB:HomeClassName>
    <EJB:ServerName>Weblogic</EJB:ServerName>
</EJB:Service> 

如何使用Linux shell脚本合并这些文件以获得所需的输出?


感觉你可以自由地看看其他一些帖子[ 1 2 3 ......]和现有的类似解决方案。一个问题:为什么你需要用shell脚本解析xml文件而不是找到刚刚为它制作的命令和程序?
Hastur
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.