2011-07-27 129 views

回答

16

如果所有的文件都在那麼一個目錄:

bzip2 * 

就足夠了。一個更可靠的方法是:

find . -type f -exec bzip2 {} + 

這將壓縮在當前目錄及其子目錄中的每個文件,並會工作,即使你有文件數以萬計的(使用*將打破,如果有太多目錄中的文件)。

如果您的計算機有多個核心,那麼您可以通過一次壓縮多個文件來進一步改善此問題。例如,如果你想同時壓縮4個文件,使用方法:

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

我不明白在你指定的最後一個命令的哪個位置使用bzip2 –

+0

,它缺少「bzip2」命令。固定。 – sagi

+0

'{} +'是什麼意思? – Lee

0

從目錄中:bzip2 *

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

要多核Mac上的bzip2,您可以發出以下命令(當你的文件夾中要BZIP)

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

這將遞歸BZIP每一個文件你的終端是在同時使用14個CPU核心的文件夾內。

你可以調整多少個核心通過編輯

-P14 

使用如果你不知道在哪裏bzip2的二進制文件,您可以發出以下命令來弄明白

which bzip2 

該命令的輸出是你可以替換的東西

/opt/local/bin/bzip2 

相關問題