Чи є спосіб визначити розмір декомпресованого файлу .bz2?


34

Чи є спосіб роздрукувати розмір файлу .bz2 розміром, що не розпаковується, фактично не розпаковуючи всю річ?


Так що у вихідному файлі bzip немає метаданих про вихідний файл? > :(
ендоліт

не те, на що я бачив посилання на. : /
шарлатанний кіхот

Відповіді:


36

Як зазначають інші, 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

9
Добре, що для розрахунку знадобилося лише п'ять хвилин 100% процесора.
ендоліт

2
тільки? І він би заповнив диск? У мене є стислий тарбол старої установки Linux, який лише 407meg, але мій древний сервер зайняв 30-45 хвилин, щоб отримати. що включало запис на диск, тхо, мені доведеться запустити цей сценарій, щоб встигнути його. поверніться до вас через півгодини ... :)
шарлатаний кіхот

Я, звичайно, вибрав найменший файл для першого тесту. Стиснуто 140 Мб -> 3 Гб, не стиснуте. Файли більшого розміру стискаються на 5 ГБ ...
endolith

хе .. лемме, знаю, наскільки великі 5 ГБ, і скільки часу потрібно, щоб розібратися через цей XD
квакіт-кіхот

-3

Читання .bz текстового файлу розширення без розпакування.

bzcat dbtax_ext_en.ttl.bz2 |zless

1
bzcat і zless не працюють разом. Використовуйте "bzcat file.bz2 | менше" або "bzless file.bz2", або якщо у вас є gzipped файл, "zcat file.gz | менше" або "zless file.gz". Насправді, підручна сторінка для zless зазначає, що "Zless не працює зі стислими даними, які передаються на нього за допомогою стандартного введення; він вимагає, щоб вхідні файли були вказані як аргументи".
Нік Руссо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.