【发布时间】:2019-05-25 03:52:38
【问题描述】:
我正在使用 redhat linux,并通过执行类似的操作生成了一个巨大的 XML 文档
while read -r Id; do
curl -X Get "http://ip/api >> $outputfilename
done
那么结果文件是这样的
<?xml version='1.0' encoding='UTF-8'?>
<PurchaseOrder>
<somemanytags/>
</PurchaseOrder><?xml version='1.0' encoding='UTF-8'?>
<PurchaseOrder>
<somemanytags/>
</PurchaseOrder><?xml version='1.0' encoding='UTF-8'?>
<PurchaseOrder>
<somemanytags/>
</PurchaseOrder><?xml version='1.0' encoding='UTF-8'?>
<PurchaseOrder>
<somemanytags/>
</PurchaseOrder>
现在我想删除 ?xml 标头和临时标签,因此目标文件应该是这样的。
<?xml version='1.0' encoding='UTF-8'?>
<PurchaseOrder>
<somemanytags/>
<somemanytags/>
<somemanytags/>
<somemanytags/>
</PurchaseOrder>
我在 vi 中尝试过,当我执行 ?<\?xml\ version=\'1\.0\'\ encoding=\'UTF\-8\'\? 之类的操作时,它可以与 xml version='1.0' encoding='UTF-8' 匹配,但它似乎无法匹配超出该点。我也试过sed -i -e "s/xml\ version\'1\.0\'\ encoding=\'UTF\-8\'//g" outputfilename.xml,但它似乎不适用于文件。我可以知道在 sed 中是否有这样做的方法吗?
【问题讨论】:
-
不客气。如果某个答案解决了您的问题,请单击旁边的大复选标记 (✓) 接受它,并可选择对其进行投票(投票至少需要 15 个声望点)。如果您发现其他答案有帮助,请给他们投票。接受和投票有助于未来的读者。请看【相关帮助中心文章】[1] [1]:stackoverflow.com/help/someone-answers