2011-07-27 7 views

答えて

16

すべてのファイルは、1つのディレクトリにある場合:

bzip2 * 

で十分です。より堅牢なアプローチがある:

find . -type f -exec bzip2 {} + 
現在のディレクトリとそのサブディレクトリ内のすべてのファイルを圧縮し、あまりにも多く存在する場合は解除されます*(使用して、あなたが十ファイルの何千ものを持っている場合でも動作します

ディレクトリ内のファイル)。

コンピュータに複数のコアがある場合は、複数のファイルを一度に圧縮することでこれをさらに改善できます。ディレクトリ内から

find . -type f -print0 | xargs -0 -n1 -P4 bzip2 
+0

最後のコマンドでbzip2を使用するように指定した場所がわかりません –

+0

"bzip2"コマンドがありません。一定。 – sagi

+0

'{} +'の意味は何ですか? – Lee

0

:たとえば、あなたは、同時に使用する4つのファイルを圧縮したい場合は、マルチコアMac上のbzip2へbzip2 *

0
find PATH_TO_FOLDER -maxdepth 1 -type f -exec bzip2 -zk {} \; 
2

、次のコマンドを発行することができます(フォルダの中にいるとき、あなたはBZIPしたい)

find . -type f -print0 | xargs -0 -n1 -P14 /opt/local/bin/bzip2 

これは、あなたの端末が同時に14個のCPUコアを使用しているフォルダ内の再帰的にすべてのファイルをBZIPます。

あなたがたbzip2バイナリがどこにあるかわからない場合、あなたは

which bzip2 

をそれを把握するには、次のコマンドを発行することができます

-P14 

を編集して使用するどのように多くのコアを調整することができますそのコマンドの出力は置き換え可能なものです

/opt/local/bin/bzip2 

関連する問題