Как распаковать только часть файла?

У меня большой, повторяющийся текстовый файл. Он очень хорошо сжимается – он сжат в 3 МБ. Однако при распаковке он занимает 1,7 ГБ. Поскольку он повторяется, мне нужна только часть вывода для проверки содержимого файла.

Он был сжат с помощью gzip . Предоставляет ли gunzip какой-либо способ только распаковать первые несколько мегабайт файла?

  • Упаковать файл с tar.gz из корневого каталога
  • переносная команда для распаковки и распаковки без GNU и старого unix
  • Невозможно прочитать или распаковать определенные архивы на одном конкретном сервере
  • Разделить файл gz и распаковать отдельно
  • уровни сжатия gz и xz
  • Есть ли инструмент, который комбинирует zcat и cat прозрачно?
  • Как конвертировать существующие файлы gz (gzip) в rsyncable
  • защита паролем для сжатия logrotate
  • One Solution collect form web for “Как распаковать только часть файла?”

    Вы можете выполнить распаковку до стандартного вывода и передать его через что-то вроде head чтобы захватить только немного:

     gunzip -c file.gz | head -c 20M >file.part 

    Флаг -c в head требует реализации head которая предоставляется GNU coreutils.

    dd также можно использовать:

     gunzip -c file.gz | dd of=file.part bs=1M count=20 

    Оба этих конвейера копируют первые 20 MiB несжатого файла в file.part .

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