我正在尝试使用SED从XML文件中删除一行。即sed -i "/Mansing/d" /home/test.xml
,但它删除了一行中有' Mansing'以及其他与MansingTest'在资源名称值中。有帮助吗? XML文件如下
<a>
<Resource name="Mansing" auth="container" url="jdbc:mysql:"" />
<Resource name="MansingTest" auth="container" url="jdbc:mysql:"" />
<c>
<Test>tterer</test>
</c>
</a>
答案 0 :(得分:1)
使用此语法修复file.xml
<a>
<Resource name="Mansing" auth="container" url="jdbc:mysql:" />
<Resource name="MansingTest" auth="container" url="jdbc:mysql:" />
<c>
<Test>tterer</Test>
</c>
</a>
和xmlstarlet。
xmlstarlet ed -d '//a/Resource[@name="Mansing"]' file.xml
输出:
<?xml version="1.0"?>
<a>
<Resource name="MansingTest" auth="container" url="jdbc:mysql:"/>
<c>
<Test>tterer</Test>
</c>
</a>
答案 1 :(得分:0)
sed "/\<Mansing\>/d" filename