У меня есть файл .tar.bz2 объемом около 50 ГБ, и я хотел бы извлечь его, однако я не знаю, сколько места мне понадобится. Есть ли команда для печати степени сжатия файла tar.bz2?
3 ответа
tar -tvjf file.tar.bz2
Перечислит все файлы в файле tar, их соответствующие размеры и другую информацию. Вы всегда можете передать вывод через скрипт awk, чтобы сложить числа ...
tar -tvjf file.tar.bz2 | awk '{i+=$3;print i" "$0}' | tail
Я не знаю команды специально для распечатки коэффициентов сжатия, но
bzip2 -dc file.tar.bz2 | wc -c
должен показать вам количество байтов, занятых несжатым файлом tar. Часть этого пространства занята метаданными tar, но она должна дать вам приблизительную оценку.
Поскольку поиск привел меня к тому же самому с файлами .tar.gz, я добавлю, что
tar -tvf file.tar.gz | awk '{i+=$3} END{print i}'
будет работать для тех. то есть просто опустите j, который определяет формат bz2. Я бы опубликовал это как комментарий @ TooLazyToLogIn, но у меня нет представителя для этого.