Apakah ada cara untuk menentukan ukuran file .bz2 yang terdekompresi?

34

Apakah ada cara untuk mencetak ukuran terdekompresi dari file .bz2 tanpa benar-benar mendekompres semuanya?

endolit
sumber
Jadi tidak ada metadata tentang file asli di output bzip? > :(
endolith
Bukan berarti saya pernah melihat referensi. : /
quack quixote

Jawaban:

36

Seperti dicatat oleh orang lain, bzip2 tidak memberikan banyak informasi. Tetapi teknik ini berhasil - Anda harus mendekompres file, tetapi Anda tidak harus menulis data yang telah dikompresi ke disk, yang mungkin merupakan solusi "cukup baik" untuk Anda:

$ 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

Anda bisa menyalurkan output itu ke sesuatu yang lain untuk memberi Anda bentuk yang bisa dibaca manusia:

$ 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
quack quixote
sumber
9
Nah, itu hanya butuh lima menit CPU 100% untuk menghitung.
endolith
2
hanya? DAN itu akan mengisi disk? Saya sudah mendapatkan tarball terkompresi dari instalasi linux lama yang hanya 407meg belum mengambil server kuno saya yang buruk 30-45 menit untuk mengekstrak. itu termasuk menulis ke disk, ya, saya harus menjalankan skrip itu untuk menghitung waktu. kembali ke ya dalam setengah jam ... :)
quack quixote
Saya memilih file terkecil untuk tes pertama, tentu saja. 140 MB terkompresi -> 3 GB tidak terkompresi. File-file yang lebih besar 5 GB dikompresi ...
endolit
heh .. biar tahu seberapa besar 5GB ternyata ... dan berapa lama untuk mengetahuinya melalui XD ini
quack quixote
-3

Untuk membaca file teks ekstensi .bz tanpa membuka ritsleting.

bzcat dbtax_ext_en.ttl.bz2 |zless
Shashank Motepalli
sumber
1
bzcat dan zless tidak bekerja bersama seperti ini. Gunakan "bzcat file.bz2 | less" atau "bzless file.bz2", atau jika Anda memiliki file gzip, "zcat file.gz | less" atau "zless file.gz". Bahkan, halaman manual untuk zless mencatat bahwa "Zless tidak bekerja dengan data terkompresi yang disalurkan ke sana melalui input standar; itu membutuhkan file input ditetapkan sebagai argumen."
Nick Russo