
У меня есть большой, повторяющийся текстовый файл. Он очень хорошо сжимается — в сжатом виде он занимает около 3 МБ. Однако, если его распаковать, он занимает 1,7 ГБ. Поскольку он повторяющийся, мне нужна только часть вывода, чтобы проверить содержимое файла.
Он был сжат с помощью gzip
. gunzip
Есть ли способ распаковать только первые несколько мегабайт файла?
решение1
Вы можете распаковать данные в стандартный вывод и пропустить их через что-то вроде того, 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 МБ несжатого файла в file.part
.