我有一个巨大的(4GB)XML文件,目前我正在使用Linux“分割”功能(每25,000行 - 不是以字节)分块。这通常效果很好(我最终得到了大约50个文件),除了一些数据描述有换行符,并且块文件经常没有合适的结束标记 - 并且我的解析器在处理过程中戛然而止。如何使用linux的csplit来切割大量的XML文件?
示例文件:(注:通常每个 “上市” 的XML节点应该是在自己的行)
2009-09-22This is a description WITHOUT line breaks and works fine with splitstuff2009-09-22This is a reallyannoying description field
WITH line breaks
that screw the split function
stuff然后有时候我开叉像
2009-09-22This is a description WITHOUT line breaks and works fine with splitstuff2009-09-22This is a reallyannoying description field
WITH line breaks ...
EOF
所以 - 我一直在阅读“csplit”,这听起来像可能解决这个问题。我似乎无法获得正则表达式正确的...
基本上我想要的〜50ish文件相同的输出
喜欢的东西:
*csplit -k myfile.xml '/
/' 25000 {50}任何帮助将是巨大的 谢谢!
2010-05-13
Fred