如何使用linux csplit来切割大量的XML文件?
发布时间:2021-01-12 03:38:03 所属栏目:Linux 来源:互联网
导读:我有一个巨大的(4GB) XML文件,我目前正在使用linux“split”函数(每25,000行 – 不是字节)分成块.这通常很有效(我最终得到了大约50个文件),除了一些数据描述有换行符,因此块文件经常没有正确的结束标记 – 而且我的解析器在处理过程中中途窒息. 示例文件:(注
|
我有一个巨大的(4GB) XML文件,我目前正在使用linux“split”函数(每25,000行 – 不是字节)分成块.这通常很有效(我最终得到了大约50个文件),除了一些数据描述有换行符,因此块文件经常没有正确的结束标记 – 而且我的解析器在处理过程中中途窒息. 示例文件:(注意:通常每个“列表”xml节点应该在它自己的行上) <?xml version="1.0" encoding="UTF-8"?> <listings> <listing><date>2009-09-22</date><desc>This is a description WITHOUT line breaks and works fine with split</desc><more_tags>stuff</more_tags></listing> <listing><date>2009-09-22</date><desc>This is a really annoying description field WITH line breaks that screw the split function</desc><more_tags>stuff</more_tags></listing> </listings> 然后有时我的分裂最终会像 <?xml version="1.0" encoding="UTF-8"?> <listings> <listing><date>2009-09-22</date><desc>This is a description WITHOUT line breaks and works fine with split</desc><more_tags>stuff</more_tags></listing> <listing><date>2009-09-22</date><desc>This is a really annoying description field WITH line breaks ... EOF 所以 – 我一直在阅读“csplit”,听起来它可能有助于解决这个问题.我似乎无法正确表达正确的表达…… 基本上我想要50ish文件的相同输出 就像是: *csplit -k myfile.xml '/</listing>/' 25000 {50}
任何帮助都会很棒 解决方法您无法以这种方式获得有效的XML文件.我建议您使用StaX编写一个java程序,如果您使用WoodStox实现,它将非常快速地流入和传输XML.(编辑:吉安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- OpenCV在与anaconda的Linux上使用python无法正常工作.获取未
- linux – 关于fork和execve系统调用
- linux – udev:设备在启动时连接
- Linux中的每个线程CPU统计信息
- linux内核 – 从linux内核模块访问串行端口
- 当我在Linux中打开文件时应该什么时候使用O_CLOEXEC?
- osx – 无法挂载带有nfs的vagrant同步文件夹
- linux – Arduino上传错误“stk500_recv():程序员没有响应
- linux – 在bash脚本中使用iperf3获取时间戳
- linux – 在ARM上构建mongo shell 3.2.x(armv7l / arm64 /
