小编Los*_*ion的帖子

根据模式将一个文件拆分为多个文件(剪切可以在行内进行)

存在很多解决方案,但这里的特殊性是我需要能够在一条线内分割,切割应该在模式之前发生.例如:

INFILE:

<?xml 1><blabla1>
<blabla><blabla2><blabla>
<blabla><blabla>
<blabla><blabla3><blabla><blabla>
<blabla><blabla><blabla><?xml 4>
<blabla>
<blabla><blabla><blabla>
<blabla><?xml 2><blabla><blabla>
Run Code Online (Sandbox Code Playgroud)

应该成为模式 <?xml

Outfile1:

<?xml 1><blabla1>
<blabla><blabla2><blabla>
<blabla><blabla>
<blabla><blabla3><blabla><blabla>
<blabla><blabla><blabla>
Run Code Online (Sandbox Code Playgroud)

Outfile2:

<?xml 4>
<blabla>
<blabla><blabla><blabla>
<blabla>
Run Code Online (Sandbox Code Playgroud)

Outfile3:

<?xml 2><blabla><blabla>
Run Code Online (Sandbox Code Playgroud)

实际上,perl在验证答案脚本在这里工作正常,我的小例子.但它会为我更大(约6GB)的实际文件生成错误.错误是:

panic: sv_setpvn called with negative strlen at /home/.../split.pl line 7, <> chunk 1.
Run Code Online (Sandbox Code Playgroud)

我没有评论的权限,这就是我开始新帖子的原因.最后,Python我更了解解决方案,因为我更了解它.

python perl awk split gnu

4
推荐指数
3
解决办法
1万
查看次数

标签 统计

awk ×1

gnu ×1

perl ×1

python ×1

split ×1