在unix中有没有任何方法可以将数据附加到.xml文件中?

在unix中有没有任何方法可以将数据附加到.xml文件中?,xml,unix,sed,append,Xml,Unix,Sed,Append,我有一个包含以下数据的XML文件: <Loggers> <Root level="WARN"> <AppenderRef ref="rolling" /> </Root> <Logger name="com.windows.indexing.EntityQqlQuery" level="info"/> <Logger name="com.windows.portal.module.questionnaire.ob

我有一个包含以下数据的XML文件:

<Loggers>
<Root level="WARN">
        <AppenderRef ref="rolling" />
</Root>

<Logger name="com.windows.indexing.EntityQqlQuery" level="info"/>
<Logger name="com.windows.portal.module.questionnaire.object.campaign.helper.CampaignHelper" level="info"/>
<Logger name="com.windows.portal.application.module.searching.DetectionInnerHitSearchQuery" level="info"/>
<Logger name="com.windows.portal.application.module.business.processor.DynamicProcessor" level="ERROR"/>
<Logger name="com.windows.platform.persistence.hibernate.mapping.BasicResultTransformer" level="ERROR"/>
</Loggers>

我想在文件中的
之前添加以下行:

<Logger name="org.hibernate.SQL" level="debug"/>

此外,插入此行后应保存该文件。我有什么办法可以做到吗

最简单(可能不是最好)的解决方案

sed-i.bak'//i\
\
'文件名

这将在每行出现之前插入一行

这可以通过任何xslt处理器和合适的样式表来完成。这是另一种选择。
sed -i .bak '/<\/Loggers>/ i \
<Logger name="org.hibernate.SQL" level="debug"/>\
' filename