1

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

有任何想法吗?

这样的工具必须可以在命令行上访问(对于 Linux/Mac)。如果它可以与所有或大多数常用的无损压缩算法(gzbzip2zip等)一起工作,那将是最有用的如果它列出了各种方法的压缩比(或等效用途,生成的文件大小),则加分。我完全希望这样的工具会在产生输出之前扫描文件,但如果可能的话,我想避免任何实际的压缩。

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

  • 它应该适用于任何类型的文件,包括易于压缩的 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),这就是为什么我只想要估计而不是实际压缩的原因。

4

1 回答 1

2

您可能会像这样压缩成管道| wc(您可以使用pipe(7) -s 或fifo(7) -s,也许使用 bash coprocesses),但您仍然需要压缩。

(除非你的磁盘空间非常紧张,我相信这不值得痛苦)

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

于 2014-11-13T19:17:02.087 回答