xmlstarlet:移除具有特定属性值的标记及其子项

xmlstarlet:移除具有特定属性值的标记及其子项,xml,parsing,xmlstarlet,Xml,Parsing,Xmlstarlet,我有以下xml: <systemList> <system> ... </system> <system> <name>dreamcast</name> <fullname>Sega Dreamcast</fullname> <platform>dreamcast</platform> <theme>dreamcast

我有以下xml:

<systemList>
  <system>
    ...
  </system>
<system>
    <name>dreamcast</name>
    <fullname>Sega Dreamcast</fullname>
    <platform>dreamcast</platform>
    <theme>dreamcast</theme>
    <emulators>
      <emulator name="libretro">
        <cores>
          <core>stella</core>
        </cores>
      </emulator>
      <emulator name="retrorun">
        <cores>
          <core default="true">flycast</core>
        </cores>
      </emulator>
    </emulators>
  </system>

</systemList>

但它似乎什么也没做,我在这里遗漏了什么?

我认为这只是一个打字错误-尝试将
'dreamcast'
更改为
'dreamcast'
;你在一个单引号中有一个单引号。你是对的,问题是那一个;)
<emulator name="retrorun">
xmlstarlet ed -d '/systemList/system[name='dreamcast']/emulators/emulator[@name='retrorun']' input.xml > output.xml