Use a seguinte abordagem:
ls backup | parallel -j5 7z a -mmt=4 "storage/nas/TBL/compressed_backups/{}.7z" {}
-
{}
- linha de entrada. Esta string de substituição será substituída por uma linha completa lida da fonte de entrada.
Tenho cerca de duzentos subdiretórios localizados em um diretório de interesse:
$ ls backup
201302
201607
201608
201609
201610
201701
201702
201705
201801
201802
Eu quero criar um arquivo 7z xyz.7z
para cada diretório xyz
:
cd $HOME/backup/
7z a "storage/nas/TBL/compressed_backups/$xyz.7z" "$xyz" -mmt=4
Então, no final, eu terei esses arquivos em 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
Além disso, quero usar parallel
para processar cinco diretórios por vez. (Eu tenho poder de computação suficiente para esse propósito)
parallel -j5 ::: 7z a "storage/nas/TBL/compressed_backups/$xyz.7z" "$xyz" -mmt=4
Como posso juntar tudo isso?
Tags compression gnu-parallel 7z