関心のあるディレクトリ内に約200のサブディレクトリがあります。
$ ls backup
201302
201607
201608
201609
201610
201701
201702
201705
201801
201802
7zアーカイブを作成したいxyz.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
さらに、一度に5つのディレクトリを処理するために、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" {}
{}
-入力行。この置換文字列は、入力ソースから読み取られた1行に置き換えられます。