使用XMLStarlet的bash脚本中的引号之间的空格字符

时间:2017-03-15 16:48:53

标签: xml bash shell space xmlstarlet

我正在尝试使用工具XMLStarlet在bash中使用脚本编辑我的xml文件。 所以我想删除我文件的完整标签,我的问题在于我的命令语法如下:

xmlstarlet ed -d“/ properties / structure name = \”preference \“”$ 1

标签是< 结构名称=“首选项”>

我的错误是: XPath错误:表达式无效 / properties / structure“”name =“preference” 错误指向第一个引号(“)

我尝试插入引号,反斜杠以使空格字符可以接受,但我找不到让它工作的方法。 有人可以帮我解决这个问题吗?我还没有找到谈论此事的话题。

先谢谢

1 个答案:

答案 0 :(得分:0)

自:

<properties>
    <bla name="preference" >
    </bla>
    <structure name="preference" >
    </structure>
    <structure name="xxx" >
    </structure>
</properties>

xmlstarlet ed -d '/properties/structure[@name="preference"]'

产生

<?xml version="1.0"?>
<properties>
  <bla name="preference">
    </bla>
  <structure name="xxx">
    </structure>
</properties>