【发布时间】:2021-10-17 22:29:03
【问题描述】:
我有这个 xml,我喜欢用字符串来评论 这是我的 xml(其中的一部分)
<subsystem
xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<datasource jta="true" jndi-name="java:/comp/env/jdbc/app1" pool-name="app1" enabled="true"
use-ccm="false">
<test1></test1>
<test2></test2>
</datasource>
<datasource jta="true" jndi-name="java:/comp/env/jdbc/app2" pool-name="app2" enabled="true"
use-ccm="false"><test1></test1><test2></test2></datasource>
</datasources>
</subsystem>
我尝试了这个 sed 正则表达式,但只能捕获第一个 基于this 第 6.2 节 我喜欢捕捉并把它放在评论中,所以它看起来像这样 更新sed -E '/./{H;1h;$!d} ; x ; s/(<datasource.*app1*)/ <!--\n\1-->/gi'
<subsystem
xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<!--
<datasource jta="true" jndi-name="java:/comp/env/jdbc/app1" pool-name="app1" enabled="true"
use-ccm="false">
<test1></test1>
<test2></test2>
</datasource>
-->
<datasource jta="true" jndi-name="java:/comp/env/jdbc/app2" pool-name="app2" enabled="true"
use-ccm="false"><test1></test1><test2></test2></datasource>
</datasources>
</subsystem>
请不要关闭问题
我的主机上没有 xml 工具,只有基本的 linux 工具
【问题讨论】:
-
Don't Parse XML/HTML With Regex. 我建议使用 XML/HTML 解析器 (xmlstarlet, xmllint ...)。
-
我的主机中没有 xml,无法安装,sed 是我所拥有的
-
请不要关闭问题,因为我的主机上没有 xml 工具