Распакуйте архив с более чем одной записью

Я пытаюсь распаковать ~ 8GB .zip файл, переданный по каналу из команды curl . Все, что я пробовал, прерывается при <1 ГБ и возвращает сообщение:

… имеет более одного входа – остальное игнорируется

Я пробовал: funzip , funzip , gzip -d , zcat , … также с разными аргументами – все это в приведенном выше сообщении.

Файл данных является общедоступным, поэтому его легко воспроизвести:

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

  • Любой способ переопределить защиту обхода пути при распаковке?
  • Извлеките один файл из zip-файла, только зная расширение
  • Как де-разархивировать, де-tar -xvf - de-unarchive в беспорядочной папке?
  • Depsolving для php-pecl-zip
  • ZIP-пароли для Linux?
  • Как я могу правильно распаковать ZIP-архив файлов с ивритскими именами?
  • Crack zip-файл с известными частями паролей
  • Файл с zipped с помощью 7za нельзя распаковать с помощью утилиты zip
  • One Solution collect form web for “Распакуйте архив с более чем одной записью”

    Команды, которые вы используете, могут извлекать данные только из первой записи в ZIP-архиве; это явно указано в man- funzip :

    funzip без аргумента файла действует как фильтр; то есть предполагается, что ZIP-архив (или файл gzip 'd (1)) передается в стандартный ввод, и он извлекает первый член из архива в stdout.

    faredata2013.zip содержит несколько записей, поэтому вам нужно использовать unzip для их извлечения. Если вы хотите извлечь их в stdout , вы можете использовать unzip с параметром -c и добавить -q если вам просто нужно сырое содержимое всех файлов в архиве. ( -c извлекает содержимое архива в stdout , по умолчанию заголовок, указывающий имя каждого файла перед его содержимым; -q извлекает без вывода имен файлов). Вы также можете использовать опцию -p вместо -c и -q .

    Linux и Unix - лучшая ОС в мире.