Да, это так.
Вы можете попробовать другие форматы сжатия, предлагаемые tar. На моем Linux-боксе это разнообразие предлагает GNU tar. Тем не менее, если gzip -9
достигает только 29 ГБ -> 26 ГБ, маловероятно, что другой формат сжатия достигнет желаемых 29 ГБ -> 10 ГБ, которые вы ищете.
$ tar --help|grep -A16 Compression
Compression options:
-a, --auto-compress use archive suffix to determine the compression
program
-I, --use-compress-program=PROG
filter through PROG (must accept -d)
-j, --bzip2 filter the archive through bzip2
-J, --xz filter the archive through xz
--lzip filter the archive through lzip
--lzma filter the archive through lzma
--lzop
--no-auto-compress do not use archive suffix to determine the
compression program
-z, --gzip, --gunzip, --ungzip filter the archive through gzip
-Z, --compress, --uncompress filter the archive through compress
Local file selection:
$
В файловой системе только~1,03 ГБсвободного -дискового -места;
разделение файла~9.3Gразмера.
мы собираемся разбить этот файл на 10 небольших файлов размером примерно1Gкаждый.
for i in {1..10}; do
tail -c 1G bigfile >split_file_$i && truncate -s -1G bigfile;
done
это почти использует1Gсвободного -дискового пространства из~1.03Gдоступного и только~30Mостается каждый раз! (Я в тестовой среде ); конечно, вам нужно настроить размер разделения в соответствии с доступным свободным -дисковым -пространством, ине используйте все это доступное пространство! , используйте, например, до -до 80%.
воссоединиться обратно в один файл:
for file in split_file_{10..1}; do
cat "$file" >>bigfile_joined && rm "$file";
done