查看单个帖子
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 MATLAB-删除二进制文件的元素而不加载整个文件

这可能是一个愚蠢的问题,但是Google和MATLAB文档使我失败了。我有一个很大的二进制文件(> 10 GB),需要打开和删除最后的四千万个字节左右。有没有一种方法可以在不将整个文件大块地读取到内存并将其打印到新文件的情况下进行此操作?生成文件花了6个小时,所以我很想重新读取整个内容。

编辑:

该文件的大小为14,440,000,000字节。我需要把它切成14400,000,000。



回答:

我发现Perl比MATLAB快得多。

这是Perl Cookbook的两个示例:

truncate(HANDLE, $length) or die "Couldn't truncate: $!\n"; truncate("/tmp/$$.pid", $length) or die "Couldn't truncate: $!\n"; 您可以使用PERL函数从MATLAB运行Perl脚本。



更多&回答...
poster 当前离线   回复时引用此帖