使用 xargs 解密使用 gpg 加密的文件

使用 xargs 解密使用 gpg 加密的文件

我有很多文件加密GPG。所有文件都有相同的密码。是否可以使用 xargs 来解密文件?

ls | xargs -n 1 gpg要求输入每个文件的密码。

答案1

跑步gpg-代理或类似的程序。设置 gpg 以查找正在运行的代理,如文档中所述。在代理中一次性输入密码(对于本次会话)。

请注意,ls | xargs -n 1 gpg仅当您的文件名不包含任何特殊字符时才有效。一般来说,不解析输出lsxargs当您想每个文件运行一次程序时,这是毫无意义的。改为这样做:

for x in *.gpg; do gpg "$x"; done

答案2

你可以这样做 :

for i in *; do 
  /usr/bin/gpg --batch --passphrase-fd 3  --decrypt $i 3<pass > $i.decoded ; 
done

当“pass”是包含您的密码的文件的完整路径时。

文件将被解码为[同名].decoded。

相关内容