我有一个大小为20Gb的tar.gz文件,主要包含压缩的文本和图像文件。我想知道(在不解压文件的情况下)它在我的磁盘上需要多少空间。我该如何进行估算?
我有一个大小为20Gb的tar.gz文件,主要包含压缩的文本和图像文件。我想知道(在不解压文件的情况下)它在我的磁盘上需要多少空间。我该如何进行估算?
gzip --list
不起作用。gzip 文件格式在末尾的四个字节中存储未压缩长度,因此只有在您确定某些其他方法确实具有小于 4 GB 的压缩长度的文件时,该方法才有用。 在这种情况下,由于压缩大小为 20 GB,您确定这不是那种情况。 因此,gzip
报告的长度是无用的。gzip
解压缩输出导入某个可以计算字节数的东西(例如 wc
)。 例如:gzip -dc < foo.tar.gz | wc -c
这个命令
gzip --list filename.gz
会告诉您原始未压缩文件的大小等信息,但不包括像 @MarkAdler 指出的原始文件大小为4GB或更大的情况。
我有一堆压缩文件,需要知道它们的未压缩大小,所以我想到了以下命令:
find foo/*.gz -exec gzip -l '{}' \; |awk '{ sub(/uncompressed/, " "); print } {sum += $2} END {print sum}'