我想解密一堆非常大的文件,并使用每个文件的解密版本作为Python脚本的输入,该脚本将处理其内容。所以,如果我有一个名为
的文件 file1.sc.xz.gpg
运行GnuPG解密工具后,输出应存储在名为
的文件中 file1.sc.xz
在同一目录中,此文件应该是Python脚本的输入,它将处理其内容。理想情况下,我想在一个单独的Bash命令中执行此操作,但我找不到正确的方法来执行此操作。我试过的是:
find test/ -type f | parallel 'f="{}"; g="${f%.*}"; gpg "$f" > "$g" | python iterating-over-tokens.py "$g" '
但不起作用。还有其他建议吗?非常感谢提前。
稍后编辑:如果我可以将解密文件(* .sc.xz)内容作为参数直接发送到Python脚本,那就更好了。
答案 0 :(得分:1)
直接使用Python:
parallel gpg -o - {} '|' python -c "'import sys; print sys.stdin.read().upper()'" ::: *.gpg
首先创建解密文件:
parallel gpg -o {.} {} ';' python -c "'import sys; print sys.argv'" {.} ::: *.gpg
您需要能够在不输入密码的情况下解密。如果gpg
要求密码短语首先运行gpg-agent
。