存在很多解决方案,但这里的特殊性是我需要能够在一条线内分割,切割应该在模式之前发生.例如:
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我更了解解决方案,因为我更了解它.