
Ich versuche, eine Reihe von Dateien mit dem folgenden Code zu verschlüsseln:
find . -name "*.vi" | sort | parallel --gnu -j 4 --workdir "$PWD" '
echo "Encrypting {/.} ..."
gpg -r [email protected] -o "/tank/test/{/.}.gpg" -e "{}"
';
Das funktioniert einwandfrei, aber nur, wenn die Dateinamen weder Leerzeichen noch Sonderzeichen (! oder ') enthalten. Gibt es eine andere Möglichkeit, diesen Code zum Laufen zu bringen, als alle Dateien umzubenennen?
Antwort1
Es sieht nach zu vielen Anführungszeichen aus. Denken Sie daran, dass GNU Parallel davon ausgeht, dass {} direkt von der Shell analysiert wird. Versuchen Sie, "" um {} und {/.} zu entfernen:
# 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 {}