我想估计一个文件、文件或文件目录在压缩后的最终大小。我正在寻找可以估计/计算的程序或脚本。
有任何想法吗?
这样的工具必须可以在命令行上访问(对于 Linux/Mac)。如果它可以与所有或大多数常用的无损压缩算法(gz
、bzip2
、zip
等)一起工作,那将是最有用的。如果它列出了各种方法的压缩比(或等效用途,生成的文件大小),则加分。我完全希望这样的工具会在产生输出之前扫描文件,但如果可能的话,我想避免任何实际的压缩。
如果重要的话,我希望这是通用的:
- 它应该适用于任何类型的文件,包括易于压缩的 ASCII 文本文件、二进制数据以及介于两者之间的所有文件。(当然,这在很大程度上取决于压缩算法/工具。)
- 它应该与各种压缩算法/工具一起使用
下面的 BASH 脚本为一种压缩算法做了我想要的,但它不算数(我想要一个估计):
#!/bin/bash
FILES_TO_COMPRESS=`ls ./*txt`
TEMP_FILE=myData.tgz
tar -zcvf $TEMP_FILE $FILES_TO_COMPRESS
du -h $TEMP_FILE | awk '{print $1}'
rm -f $TEMP_FILE
我主要将其用于较大的文件(大于 1 GB),这就是为什么我只想要估计而不是实际压缩的原因。