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

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

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

  • разархивировать файл из другой папки
  • Как происходит застежка созданного образа диска, делает меньше файлов, чем трубопроводов?
  • Как сообщить gzip о сохранении исходного файла?
  • Как я могу предотвратить gunzip | ntfsclone для зависания, если источник zip не читается
  • Как искать файлы поиска и сжимать, если больше 500M
  • Греп из файла с двойным gzip
  • Gzip распаковывает файл с другим расширением?
  • gunzip папку со многими файлами
  • Можно ли сделать файл .tar.gz непосредственно из stdin? Или, мне нужно, чтобы смонтировать вместе уже gzipped файлы
  • Как конвертировать существующие файлы gz (gzip) в rsyncable
  • gunzip несколько сжатых файлов в другой каталог, не удаляя файлы .gz
  • Как сообщить gzip о сохранении исходного файла?
  • 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 - лучшая ОС в мире.