Gnu Parallel - 解密文件内容并将其发送到 Python 脚本
Gnu Parallel - decrypt and send file content to a Python script
我想解密一堆非常大的文件,并将每个文件的解密版本用作将处理其内容的 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脚本,那就更好了。
直接传送到 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
。
我想解密一堆非常大的文件,并将每个文件的解密版本用作将处理其内容的 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脚本,那就更好了。
直接传送到 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
。