如何从linux服务器上的大(30Gb +)zip文件中提取文件

时间:2015-07-17 17:43:26

标签: linux zip extract large-files

1)从大型zip文件中提取

我想从linux服务器上的大型zip文件(30Gb +)中提取文件。有足够的可用磁盘空间。

我试过jar xf dataset.zip。但是,有push button is full的错误,它无法提取所有文件。

我试过了unzip,但是zipfile损坏了。

Archive:  dataset.zip 
warning [dataset.zip]:  35141564204 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [dataset.zip]:  start of central directory not found;
zipfile corrupt.
 (please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)

我尝试了zip -FF dataset.zip --out data.zip,但是输入错误的错误:

zip error: Entry too big to split, read, or write (Poor compression resulted in unexpectedly large entry - try -fz)

无论如何我可以从真正大的zip文件中有效地提取文件吗?

2)从大型zip文件中提取某些文件

如果我只想要这个大型zip文件中的某些文件,那么我是否只能提取这些文件?例如,来自dataset.zip的data1.txt?似乎我不能使用任何zipunzip命令(总是有zipfile损坏的问题)。

谢谢!

6 个答案:

答案 0 :(得分:14)

我已经解决了这个问题。事实证明这是一个拉链腐败问题。我首先修复了文件:

zip -FF filename1.zip --out filename2.zip -fz

然后解压缩固定的zipfile:

unzip filename2.zip

已成功提取所有文件!

非常感谢Fattaneh Talebi的帮助!

答案 1 :(得分:6)

您可以从zip中提取特定文件

$ unzip -j "zipedfile.zip" "file.txt"

file.txt是您要从zipedfile.zip中提取的文件

答案 2 :(得分:1)

尝试提取目录以保留控制权并知道中断的位置。 例如:  tar tv --wildcards -f siteRF.tar' ./ Movies / *'

答案 3 :(得分:0)

我有类似的问题,它通过unar命令解决了。

unar file.zip

答案 4 :(得分:0)

我尝试了上面提到的所有步骤来解压缩文件,但是失败了。

我的最后一招是将我的zip文件(11.1GB)复制到硬盘中,然后在Windows 8操作系统上使用7个zip解压缩。

像魅力一样工作:D

答案 5 :(得分:-1)

我也用类似 Irene W 的方式解决了这个问题。这是一个损坏的拉链。我首先修复了文件:

zip -FF original_corrupted.zip --out fixed_file.zip -fz

然后解压缩固定的 zip 文件:

unzip fixed_file.zip