私が興味のあるディレクトリには約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
また、.process 5つのディレクトリを一度に使用したいと思います。 (私はこの目的のために十分なコンピューティング能力を持っています)
parallel -j5 ::: 7z a "storage/nas/TBL/compressed_backups/$xyz.7z" "$xyz" -mmt=4
これらすべてをどのように仕上げることができますか?
答え1
次の方法を使用します。
ls backup | parallel -j5 7z a -mmt=4 "storage/nas/TBL/compressed_backups/{}.7z" {}
{}
- 入力ライン。置換文字列は、入力ソースから読み取られた行全体に置き換えられます。