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),但你仍然需要壓縮。

(除非你的硬盤空間非常緊張,我認爲這是不值得的疼痛)

請注意,不是每一個文件是真正的壓縮。

相關問題