我有以下 xml 文件。我想通过删除 url
来编辑它和 title
每个元素的属性 <doc></doc>
.我正在寻找一个可以提供帮助而不是编写整个代码的 unix 命令。
<documents>
<doc id="852" url="http://en.wikipedia.org/wiki?curid=852" title="...">
<text>
Some text...
</text>
</doc>
<doc id="853" url="http://en.wikipedia.org/wiki?curid=853" title="...">
<text>
Some text...
</text>
</doc>
<doc id="854" url="http://en.wikipedia.org/wiki?curid=854" title="...">
<text>
some text...
</text>
</doc>
</documents>
最佳答案
如果 xml 与此一致,则可以使用一个简单的示例:
sed -r 's/^(<doc .* )url=".*/\1>/' myfile.xml
这表示识别以 <doc
开头的行标签,保存内容最多url
,丢弃该行的其余部分,并用新的 >
重新关闭.
您可以更加小心地使用正则表达式,但是 sed 是一个很好的工具,如果 XML 是完全可预测的。
如果您想就地更改文件,请添加 -i
到 sed 调用。
关于xml - 如何使用 linux 命令(示例 sed)删除 xml 文件中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31702702/