У меня есть большой файл .gz. Я хотел бы разбить его на 100 меньших GZIP-файлов, каждый из которых может быть распакован сам по себе. Другими словами: я не ищу способ нарезать файл .gz на куски, которые нужно было бы собрать вместе, чтобы иметь возможность распаковать его. Я хочу иметь возможность распаковывать каждый из меньших файлов независимо.
Можно ли это сделать без повторного сжатия всего файла?
Можно ли это сделать, если исходный файл сжат --rsyncable
? («Лучше обслуживать программу rsync, периодически сбрасывая внутреннюю структуру потока сжатых данных. Похоже, что эти точки сброса могут быть хорошими местами для разделения и, возможно, с добавлением заголовка.)
Это можно сделать для любого другого сжатого формата? Я предположил bzip2
бы, что это выполнимо - поскольку это сжато в блоках.
gzip --rsyncable
учетом того, что «gunzip не может определить разницу» (если бы вы могли найти место для разделения, вы могли бы сказать, что есть место для разделения). Это может быть выполнимо с bzip2 из-за его специфической особенности блока.
gzip -d -c bigfile.gz
.
bzip2
файлом действительно. Это было бы выполнимо с gz
или xz
только путем сжатия каждого куска независимо, так что это потребовало бы повторного сжатия.