Se você instalar a ferramenta GNU Parallel , poderá fazer um trabalho muito fácil com o que está tentando realizar:
$ find . -maxdepth 1 -type f -note -iname "*.gpg" | sort | \
parallel --gnu -j 8 --workdir $PWD ' \
echo "Encrypting {}..."; \
gpg --trust-model always \
--recipient "[email protected]" --output "{}.gpg" \
--encrypt "{}" && rm "{}" \
'
detalhes
O acima está pegando a saída de find
e passando para parallel
e executando 8 de cada vez. Em todos os lugares, a ocorrência de {}
dos nomes de arquivos que estão sendo transmitidos de find
substituirá o {}
nesses pontos.