1

我想估算一个文件,文件或压缩文件目录后的最终大小。我正在寻找一个可以估算/计算的程序或脚本。是否有压缩后估算文件大小的实用工具?

任何想法?

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

如果它的事项,我宁愿这是通用的:

  • 应该对任何类型的文件(S),其中包括容易压缩的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

对于任何任意字节序列来说,没有“估计”压缩的东西;要么通过实际执行它来获得准确的比例,要么完全猜测它。 –

+0

你显然无法估计(不进行压缩),因为每个文件都不能被压缩(具有基数参数)。否则,每个文件可能被压缩多次到几个字节。 –

+0

这可能是真的,但大概一个程序可以执行压缩并选择不输出文件 - 就像一个'--dry-run'标志。 – jvriesem

回答

1

你可能会压缩到一个管道一样| wc(你可以使用pipe(7) -s或fifo(7) -s,也许在bash coprocesses),但你仍然需要压缩。

(除非你的硬盘空间非常紧张,我认为这是不值得的疼痛)

请注意,不是每一个文件是真正的压缩。

相关问题