小智 60
如果要从命令行执行此操作,可以尝试gzip的-l选项:
$ gzip -l compressed.tar.gz
compressed uncompressed ratio uncompressed_name
132 10240 99.1% compressed.tar
Run Code Online (Sandbox Code Playgroud)
Zty*_*tyx 32
这将总结提取文件的总内容大小:
$ tar tzvf archive.tar.gz | sed 's/ \+/ /g' | cut -f3 -d' ' | sed '2,$s/^/+ /' | paste -sd' ' | bc
Run Code Online (Sandbox Code Playgroud)
输出以字节为单位.
说明:tar tzvf以详细格式列出存档中的文件,如ls -l.sed并cut隔离文件大小字段.第二个sed将除了第一个之外的每个大小放在前面并将paste它们连接起来,给出一个总和表达式,然后用它来计算bc.
请注意,这不包括元数据,因此文件在提取时占用的磁盘空间会更大 - 如果您有很多非常小的文件,可能会大很多倍.
swd*_*dev 24
gzip -l archive.tar.gz文件大小超过2Gb时,该命令无法正常工作.我会建议zcat archive.tar.gz | wc --bytes使用非常大的文件.
我知道这是一个旧答案;但两年前我专门为此编写了一个工具。它被调用gzsize,它为您提供 gzip 文件的未压缩大小,而无需实际解压缩磁盘上的整个文件:
$ gzsize <your file>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72148 次 |
| 最近记录: |