Compression

為目前目錄中的每個目錄創建單獨的 7z 存檔,並通過 GNU Parallel 進行額外並行化

  • July 18, 2018

我在感興趣的目錄中有大約 200 個子目錄:

$ ls backup
201302
201607
201608
201609
201610
201701
201702
201705
201801
201802

我想xyz.7z為每個目錄創建一個 7z 存檔xyz

cd $HOME/backup/
7z a "storage/nas/TBL/compressed_backups/$xyz.7z" "$xyz" -mmt=4

所以最後我會把這些檔案放在storage/nas/TBL/compressed_backups

201302.7z
201607.7z
201608.7z
201609.7z
201610.7z
201701.7z
201702.7z
201705.7z
201801.7z
201802.7z

此外,我想使用parallel一次處理五個目錄。(為此我有足夠的計算能力)

parallel -j5 ::: 7z a "storage/nas/TBL/compressed_backups/$xyz.7z" "$xyz" -mmt=4

我怎樣才能把這一切都包起來?

使用以下方法:

ls backup | parallel -j5 7z a -mmt=4 "storage/nas/TBL/compressed_backups/{}.7z" {} 
  • {}- 輸入線。此替換字元串將替換為從輸入源讀取的完整行。

引用自:https://unix.stackexchange.com/questions/456954