Существует ли команда для определения степени сжатия файла tar.bz2?

Существует ли команда для определения степени сжатия файла tar.bz2?

У меня есть файл .tar.bz2, который весит около 50 ГБ, и я хотел бы извлечь его, однако я не знаю, сколько места мне понадобится. Есть ли команда для печати степени сжатия файла tar.bz2?

решение1

Я не знаю команды, специально предназначенной для вывода коэффициентов сжатия, но

bzip2 -dc file.tar.bz2 | wc -c

должен показать вам количество байтов, занимаемых несжатым файлом tar. Часть этого пространства занимают метаданные tar, но это должно дать вам приблизительную оценку.

решение2

tar -tvjf file.tar.bz2

Перечислит все файлы в tar-файле, их соответствующие размеры и другую информацию. Вы всегда можете передать вывод через скрипт awk, чтобы сложить числа...

tar -tvjf file.tar.bz2 | awk '{i+=$3;print i"     "$0}' | tail

решение3

Поскольку именно сюда поиск привел меня для выполнения того же самого с файлами .tar.gz, то я добавлю, что

tar -tvf file.tar.gz | awk '{i+=$3} END{print i}'

будет работать для них. т.е. просто уберите j, который указывает формат bz2. Я бы опубликовал это как комментарий к посту @TooLazyToLogIn, но у меня нет для этого репутации.

Связанный контент