假设:
<tagA/>
<tagB>...</tagB>
<setOfFoo>
<foo>...</foo>
<foo>
...some special content...
</foo>
<foo>...</foo>
<foo>...</foo>
</setOfFoo>
<tagN/>
我想删除foo的整个节点,只要有一些特定的内容,我尝试的是:
sed '/<foo>/,/special content/d;/special content/,/<\/foo>/d'
# or
sed '/<foo>/,/<\/foo>/{1,/special content/d;/special content/,$d}'
# or
sed '/<foo>/,/<\/foo>/{:a;N;ba;/special content/d}'
但这些都没有,有什么想法吗?
请记住:不应删除其他foo
标记。
答案 0 :(得分:0)
当我尝试更多时,我找到了解决方案:
sed '/<foo>/,/special content/N;/special content/,/<\/foo>/d'
我仍然发布了帮助社区的问题。