我一直在研究一段代码,它将包含多个XML文件的文件拆分为单独的XML文件。每个XML文件的行数都有所不同,因此我一直在使用XML头标记来了解下一个文件的起始位置。
grep -n $string $xmlfile | sed -n 's/^\([0-9]*\)[:].*/\1p'
它获取每个文件开头的行号。如何使用head / tail命令利用行号在单个自动脚本中拉出文件?
答案 0 :(得分:1)
// x1, x2 being XML declaration line numbers
cat myfile | head -n x2 | tail -n x1
答案 1 :(得分:0)
解析首选xml
中的shell
个文件时,最好的办法是使用xmllint
命令行和Xpath
表达式。
xmllint
来自libxml
。
见http://www.xmlsoft.org/& http://en.wikipedia.org/wiki/Xpath