Linux 是否有估算文件的实用程序';压缩后的尺寸是多少?

Linux 是否有估算文件的实用程序';压缩后的尺寸是多少?,linux,compression,data-compression,lossless-compression,Linux,Compression,Data Compression,Lossless Compression,我想估计一个文件、多个文件或压缩后的文件目录的最终大小。我正在寻找一个程序或脚本,可以估计/计算这一点 有什么想法吗 这样的工具必须可以在命令行上访问(对于Linux/Mac)。如果它能与所有或大多数常用的无损压缩算法配合使用(gz,bzip2,zip,等等),它将非常有用。如果它列出了各种方法的压缩比(或同等用途,生成的文件大小),则会获得额外的分数。我完全希望这样的工具会在生成输出之前扫描文件,但如果可能的话,我希望避免任何实际的压缩 如果重要的话,我希望这是通用的: 它应该适用于任何类型

我想估计一个文件、多个文件或压缩后的文件目录的最终大小。我正在寻找一个程序或脚本,可以估计/计算这一点

有什么想法吗

这样的工具必须可以在命令行上访问(对于Linux/Mac)。如果它能与所有或大多数常用的无损压缩算法配合使用(
gz
bzip2
zip
,等等),它将非常有用。如果它列出了各种方法的压缩比(或同等用途,生成的文件大小),则会获得额外的分数。我完全希望这样的工具会在生成输出之前扫描文件,但如果可能的话,我希望避免任何实际的压缩

如果重要的话,我希望这是通用的:

  • 它应该适用于任何类型的文件,包括易于压缩的ASCII文本文件、二进制数据以及介于两者之间的所有文件。(当然,这在很大程度上取决于压缩算法/工具。)
  • 它应该与各种压缩算法/工具配合使用
下面的BASH脚本满足了我对一种压缩算法的要求,但它不起作用(我想估算一下):

#/bin/bash
文件压缩=`ls./*txt`
TEMP_FILE=myData.tgz
tar-zcvf$TEMP_FILE$FILES_TO_COMPRESS
du-h$TEMP_文件| awk'{print$1}'
rm-f$TEMP\u文件

我主要将其用于更大的文件(大于千兆字节),这就是为什么我只需要估计,而不需要实际压缩

可以压缩到类似于
|wc
的管道中(可以使用-s或-s,可能与bash一起使用),但仍然需要压缩

(除非您的磁盘空间非常紧张,否则我认为不值得为此付出代价)


请注意,并非每个文件都是真正可压缩的。

没有“估计”任何字节序列的压缩;你要么通过实际执行得到准确的比率,要么完全猜得到。显然,你无法估计(不进行压缩),因为每个文件都无法压缩(使用基数参数)。否则,每个文件都可能被多次压缩到几个字节。这可能是真的,但程序可能会执行压缩并选择不输出文件,比如
--dry run
标志。是的,您可以在不进行完全压缩的情况下,仅通过部分压缩来进行估计。请参阅-但这只是一个算法,不是一个现成的工具。