У меня есть очень большой файл, например, 100 ГБ, и я хочу сжать его до множества меньших zip-файлов, каждый из которых не может быть больше 1 ГБ. Какие команды будут наиболее подходящими для этого?

примечание: я хочу оптимизировать меньшее количество созданных файлов

Обновление: я хочу, чтобы каждый файл можно было распаковать независимо

1 ответ1

1

Просто создайте один большой zip-файл и затем используйте команду linux split чтобы разбить его на более мелкие части. Затем можно использовать cat , чтобы собрать их в большой файл.

Если вы хотите разбить файл на куски по 1 ГБ, команда split будет выглядеть примерно так:

$ split -b 1073741824 myfile.zip myfile-split-

Для сборки:

$ cat myfile-split-* > myfile.zip

Ваша степень сжатия резко снизится, если вы перейдете к нескольким zip-файлам.

Я настоятельно рекомендую убедиться, что вы взяли md5sum файла до разделения, а затем убедитесь, что md5 совпадает после повторной сборки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .