有没有办法确定.bz2文件的解压缩大小?


Answers:


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%CPU。
endlith

2
只要?并且会填满磁盘吗?我有一个旧版Linux安装程序的压缩压缩包,它只有407meg,却用了我那可怜的古老服务器30-45分钟来提取。包括写入磁盘,等等,我必须运行该脚本来计时。在半小时内回到雅... :)
魁北克吉x德09-10-11

我为第一次测试选择了最小的文件。140 MB压缩-> 3 GB未压缩 较大的文件经过5 GB压缩...
Endolith 2009年

嘿.. lemme知道5GB的容量有多大……以及通过此XD弄清楚它需要花费多长时间
quaq quixote 09/10/12

-3

无需解压缩即可读取.bz扩展名文本文件。

bzcat dbtax_ext_en.ttl.bz2 |zless

1
bzcat和zless不能像这样一起工作。使用“ bzcat file.bz2 | less”或“ bzless file.bz2”,或者使用gzip压缩文件,则使用“ zcat file.gz | less”或“ zless file.gz”。实际上,zless的手册页指出:“ Zless不适用于通过标准输入传递给它的压缩数据;它要求将输入文件指定为参数。”
Nick Russo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.