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

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

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

  • Как получить конечные данные gzip-архива?
  • Резервное копирование файлов
  • почему я должен использовать tar.xz вместо tar.gz? xz - программа сжатия данных без потерь и формат файла
  • Увеличение размера Gzip в Linux
  • Можно ли сделать текст вывода zcat, даже если он несжатый?
  • Я случайно GZIPed целую кучу файлов, один за другим, вместо использования tar (1). Как я могу отменить этот беспорядок?
  • Gzip удаляет значения ASCII
  • Объединение, сортировка и удаление дубликатов в многочисленных файлах 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 - лучшая ОС в мире.