解压包含多个条目的存档

解压包含多个条目的存档

我正在尝试解压缩.zipcurl命令管道传输的 ~8GB 文件。我尝试过的所有操作都在 <1GB 时被中断并返回一条消息:

...有多个条目 - 其余条目被忽略

我尝试过:funzip, gunzip, gzip -d, zcat, ... 也有不同的参数 - 全部都在上面的消息中结束。

数据文件是公开的,因此很容易重现该问题:

curl -L https://archive.org/download/nycTaxiTripData2013/faredata2013.zip | funzip > datafile

答案1

您使用的命令只能从 ZIP 存档的第一个条目中提取数据;这在funzip联机帮助页:

乐趣压缩没有文件参数充当过滤器;也就是说,它假设 ZIP 存档(或压缩包'd(1) file) 正在通过管道传输到标准输入,并将存档中的第一个成员提取到标准输出。

faredata2013.zip包含多个条目,因此您需要使用unzip来提取它们。如果您想将它们提取到stdout,您可以使用unzip选项-c-q如果您只想要存档中所有文件的原始内容,请添加。 (-c将存档的内容提取到stdout,默认情况下,标头在其内容之前给出每个文件的名称;-q提取时不输出文件名)。您还可以使用该-p选项来代替-c-q

相关内容