
ユーティリティを使用してアーカイブを圧縮すると7za
、処理されたファイルの数や処理されたバイト数 (データの元のサイズ) などの統計情報が表示されることがわかっています。
コマンドライン (Linux の場合) または何らかのプログラミング言語を使用して、次のことを決定することは可能ですか。
- 圧縮される前のアーカイブの元のサイズですか?
- アーカイブ内に含まれるファイル/ディレクトリの数は?
答えは「いいえ、アーカイブ全体を解凍してカウント/サイズ設定を行うだけです」かもしれませんが、より高速でスペースをあまり消費しない方法があるかどうかを知ることは有用です。
答え1
出力を7za l <path to archive>
テキスト ファイルにパイプしたり、任意のプログラミング言語で記述されたプログラムに直接パイプしたりできます。
答え2
まあ、7za で動作するかどうかはわかりません。ただし、このコマンドを使用して Tar ファイルを作成する前に、Tar のサイズを見積もることができます。
$ tar -cf - /ディレクトリ/to/archive/ | wc -c
ソース:http://www.thegeekstuff.com/2010/04/unix-tar-command-examples/