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

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

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

  • Gzip удаляет значения ASCII
  • Можно ли сделать файл .tar.gz непосредственно из stdin? Или, мне нужно, чтобы смонтировать вместе уже gzipped файлы
  • Как распаковать gzip-ответ HTTP?
  • Как gzip и копировать файлы, сохраняя свою структуру каталогов?
  • Проблема с получением файла tar.gz для рекомбинации и извлечения. Недействительный архив .gz
  • Можно ли сделать текст вывода zcat, даже если он несжатый?
  • использовать tar для извлечения и немедленного сжатия файлов из tarball
  • TAR: лучше пропустить каталог или использовать split
  • 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 - лучшая ОС в мире.