【发布时间】:2016-09-23 20:16:29
【问题描述】:
我有巨大的 xml 文件。我想匹配特定的字符串并删除整个相关的标签示例 xml
<server>
<servlet-name>default</servlet-name>
<servlet-class>servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</server>
在这个 xml 中,我想匹配 3 个东西 <server>..<servlet-name>default</servlet-name>....</server>。如果它匹配 3 件事删除整个事情。我在下面尝试了 sed 命令。
sed -i '/server/,/server/ d' web1.xml
所以在这件事上,整个事情都将被删除。但我也想匹配第三件事 default 就像下面的命令
sed -i '/server/,/webnav/,/server/ d' web1.xml
这个命令不起作用,但我想喜欢这个
【问题讨论】:
-
使用
xml感知工具而不是sed -
@Inian 这是什么 xml 工具。我不知道这一点。
-
这是用于自动化目的以运行所有服务器,因此我无法安装此工具。其他方式