登录论坛

查看完整版本 : MATLAB-删除二进制文件的元素而不加载整个文件


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

编辑:

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



回答:

我发现Perl比MATLAB快得多。

这是Perl Cookbook的 (http://oreilly.com/catalog/cookbook/chapter/ch08.html)两个示例:

truncate(HANDLE, $length) or die "Couldn't truncate: $!\n"; truncate("/tmp/$$.pid", $length) or die "Couldn't truncate: $!\n"; 您可以使用PERL (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/perl.html)函数从MATLAB运行Perl脚本。



更多&回答... (https://stackoverflow.com/questions/2580335)