Есть ли способ определить распакованный размер .bz2-файла?

14357
endolith

Есть ли способ напечатать распакованный размер файла .bz2, не распаковывая его целиком?

28
То есть в выводе bzip нет метаданных об исходном файле? > :( endolith 14 лет назад 0
не то чтобы я видел ссылку на. : / quack quixote 14 лет назад 0

2 ответа на вопрос

34
quack quixote

Как отмечают другие, bzip2 не предоставляет много информации. Но этот метод работает - вам придется распаковать файл, но вам не нужно будет записывать распакованные данные на диск, что может оказаться для вас «достаточно хорошим» решением:

$ ls -l foo.bz2 -rw-r--r-- 1 ~quack ~quack 2364418 Jul 4 11:15 foo.bz2  $ bzcat foo.bz2 | wc -c # bzcat decompresses to stdout, wc -c counts bytes 2928640 # number of bytes of decompressed data 

Вы можете направить этот вывод во что-то другое, чтобы получить читабельную форму:

$ ls -lh foo.bz2 -rw-r--r-- 1 quack quack 2.3M Jul 4 11:15 foo.bz2  $ bzcat foo.bz2 | wc -c | perl -lne 'printf("%.2fM\n", $_/1024/1024)' 2.79M 
Ну, это заняло всего пять минут 100% CPU для расчета. endolith 14 лет назад 8
только? И это было бы заполнить диск? У меня есть сжатый архив старой установки Linux, который всего 407 мг, но мой бедный древний сервер занял 30-45 минут, чтобы извлечь. это включало запись на диск, но мне придется запустить этот скрипт, чтобы рассчитать время. вернуться к тебе через полчаса ... :) quack quixote 14 лет назад 2
Конечно, я выбрал самый маленький файл для первого теста. 140 МБ сжатых -> 3 ГБ несжатых. Файлы большего размера сжаты на 5 ГБ ... endolith 14 лет назад 0
хех ... дай мне знать, насколько большими окажутся 5Гб ... и сколько времени нужно, чтобы разобраться с этим XD quack quixote 14 лет назад 0
-1
Shashank Motepalli

Чтобы прочитать расширение файла .bz без разархивирования.

bzcat dbtax_ext_en.ttl.bz2 |zless 
bzcat и zless не работают вместе, как это. Используйте «bzcat file.bz2 | less» или «bzless file.bz2», или, если у вас есть файл в формате gzip, «zcat file.gz | less» или «zless file.gz». На самом деле, страница руководства для zless отмечает, что «Zless не работает со сжатыми данными, которые передаются ему через стандартный ввод; для этого необходимо, чтобы входные файлы были указаны в качестве аргументов». Nick Russo 6 лет назад 1

Похожие вопросы