30

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

2 ответа2

35

Как отмечают другие, 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
-1

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

bzcat dbtax_ext_en.ttl.bz2 |zless

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .