【问题标题】:Is there any way to append data to a .xml file in unix?有什么方法可以将数据附加到 unix 中的 .xml 文件中?
【发布时间】:2019-11-27 20:05:48
【问题描述】:

我有一个包含以下数据的 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>

我想在文件中&lt;/Loggers&gt;之前添加以下行:

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

插入此行后文件也应保存。有什么办法可以实现吗?

【问题讨论】:

  • 这可以通过任何 xslt 处理器和合适的样式表来完成。 xmlstarlet 是另一种选择。

标签: xml unix sed append


【解决方案1】:

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

sed -i .bak '/<\/Loggers>/ i \
<Logger name="org.hibernate.SQL" level="debug"/>\
' filename

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

【讨论】:

    猜你喜欢
    • 2018-07-05
    • 2021-07-03
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多