criptografando arquivos gnu-parallel com espaços ou caracteres especiais?

criptografando arquivos gnu-parallel com espaços ou caracteres especiais?

Estou tentando criptografar vários arquivos com o código abaixo:

find . -name "*.vi" | sort | parallel --gnu -j 4 --workdir "$PWD" '
    echo "Encrypting {/.} ..."
    gpg -r [email protected] -o "/tank/test/{/.}.gpg" -e "{}"
';

Isso funciona bem, mas apenas se os nomes dos arquivos não contiverem espaços nem caracteres especiais (! ou '). Além de renomear todos os arquivos, existe uma maneira de fazer esse código funcionar?

Responder1

Parece muita citação. Lembre-se de que o GNU Parallel assume que {} está sendo analisado diretamente pelo shell. Tente remover "" em torno de {} e {/.}:

# Avoid typing --gnu ever again
echo '--gnu' >> ~/.parallel/config

find . -name "*.vi" | sort |
  parallel echo Encrypting {/.} ...";" gpg -r [email protected] -o /tank/test/{/.}.gpg -e {}

informação relacionada