0
我有以下格式在.xml文件许多实例:SED(或其他查找和替换);改变嵌入式标签
<FFFFF>
<BBBBB>
"good B data"
</BBBBB>
<BBBBB>
"more good B data"
</BBBBB>
</FFFFF>
<AAAAA>
<BBBBB>
"some data"
</BBBBB>
<BBBBB>
"more B data"
</BBBBB>
</AAAAA>
我想将A标签和重命名是在A标签在B标签;所以最终的结果将是:(请注意,重命名的B标记的任何标记也将被罚款,他们只是不能再B)
<FFFFF>
<BBBBB>
"good B data"
</BBBBB>
<BBBBB>
"more good B data"
</BBBBB>
</FFFFF>
<AAAAA>
"some data"
</AAAAA>
<AAAAA>
"more B data"
</AAAAA>
我一直与SED瞎搞,但我想不出怎么做。每个A中没有一定数量的B标签(有的没有,有的可能有20个,等等)。另一个问题是我不想删除其他地方存在的B标签;所以我不能做一个简单的查找和替换B标签,因为这会改变嵌入的标签。
任何协助赞赏,谢谢!
为此,您可能实际上想要在Python/Ruby/etc中使用xml解析器(它看起来像xml,无论如何)。我不认为sed本身可以解决这个问题。 – iamnotmaynard
是的,它是xml;有你推荐的吗? –
如果您使用Python,[美丽的汤](http://www.crummy.com/software/BeautifulSoup/)似乎是最受欢迎的。我无法想象任何Ruby的头顶,但搜索“ruby xml”应该会为你带来一堆火柴。 (编辑:Nokogiri是Ruby的一种流行解析器。) – iamnotmaynard