
Я пытаюсь зашифровать группу файлов с помощью кода ниже:
find . -name "*.vi" | sort | parallel --gnu -j 4 --workdir "$PWD" '
echo "Encrypting {/.} ..."
gpg -r [email protected] -o "/tank/test/{/.}.gpg" -e "{}"
';
Это работает нормально, но только если в именах файлов нет пробелов и специальных символов (! или '). Кроме переименования всех файлов, есть ли способ заставить этот код работать?
решение1
Похоже, слишком много кавычек. Помните, что GNU Parallel предполагает, что {} анализируется непосредственно оболочкой. Попробуйте удалить "" вокруг {} и {/.}:
# 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 {}