Dav*_*ave 5 compression shell gzip gunzip
我在一个磁盘空间有限的共享服务器上,我有一个超级扩展为巨大文件的gz文件,比我的文件更多.如何通过"部分(一次说10 MB)提取"部分",并处理每个部分,甚至暂时不提取整个事物!
不,这只是一个超级巨大的压缩文件,而不是一组文件请...
嗨大卫,你的解决方案看起来很优雅,但如果我正确地做好准备,似乎每次gunzip从文件的开头提取(并且它的输出被丢弃).我确信这会对我所在的共享服务器造成巨大压力(我根本不认为它是"提前阅读") - 你对我如何制作枪口"跳过"必要数字有任何见解吗?块?
Dav*_*har 11
如果你正在使用(UNIX/Linux)的外壳工具这样做,你可以使用gunzip -c解压缩到标准输出,然后使用dd与skip和count选项只复制一个块.
例如:
gunzip -c input.gz | dd bs=10485760 skip=0 count=1 >output
Run Code Online (Sandbox Code Playgroud)
然后跳过= 1,跳过= 2等.