3

我一直在研究一段代码,它将包含多个 XML 文件的文件拆分为单独的 XML 文件。每个 XML 文件的行数各不相同,因此我一直使用 XML 头标记来了解下一个文件的开始位置。

grep -n $string $xmlfile | sed -n 's/^\([0-9]*\)[:].*/\1p'

这让我得到了每个文件开头的行号。如何使用 head/tail 命令利用行号在单个自动化脚本中将文件分开?

4

2 回答 2

1
// x1, x2 being XML declaration line numbers
cat myfile | head -n x2 | tail -n x1
于 2012-10-12T19:50:08.200 回答
0

在您喜欢的文件中解析xml文件时shell,最好的办法是使用xmllint命令行和Xpath表达式。


xmllint来自libxml.

请参阅http://www.xmlsoft.org/http://en.wikipedia.org/wiki/Xpath

于 2012-10-12T19:47:29.080 回答