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

2

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 somente se os nomes dos arquivos não tiverem espaços nem caracteres especiais (! ou ') neles. Além de renomear todos os arquivos, existe uma maneira de fazer esse código funcionar?

    
por Weekender 29.05.2015 / 10:25

1 resposta

2

Parece muito citar. Lembre-se que o GNU Parallel assume {} 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 {}
    
por 29.05.2015 / 20:52