
我正在嘗試使用以下程式碼加密一堆文件:
find . -name "*.vi" | sort | parallel --gnu -j 4 --workdir "$PWD" '
echo "Encrypting {/.} ..."
gpg -r [email protected] -o "/tank/test/{/.}.gpg" -e "{}"
';
這工作正常,但前提是檔案名稱中沒有空格或特殊字元(!或')。除了重新命名所有檔案之外,還有其他方法可以使此程式碼正常運作嗎?
答案1
看來引用太多了。請記住,GNU Parallel 假定 {} 由 shell 直接解析。嘗試刪除 {} 和 {/.} 周圍的“”:
# 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 {}