I have a lot of files encrypted with gpg. All files have the same password. Is it possible to use xargs to decrypt files?
ls | xargs -n 1 gpg asks for the password for every file.
I have a lot of files encrypted with gpg. All files have the same password. Is it possible to use xargs to decrypt files?
ls | xargs -n 1 gpg asks for the password for every file.
Run gpg-agent or a similar program. Set up gpg to look for a running agent, as explained in the documentation. Enter the passphrase in the agent once and for all (for this session).
Note that ls | xargs -n 1 gpg only works if your file names do not contain any special characters. Generally speaking, don't parse the output of ls, and xargs is pointless when you want to run the program once per file. Do this instead:
for x in *.gpg; do gpg "$x"; done You can do this :
for i in *; do /usr/bin/gpg --batch --passphrase-fd 3 --decrypt $i 3<pass > $i.decoded ; done When "pass" is a complete path to a file that contains your passphrase.
Files will be decoded to [same name].decoded.
$i does not begin with - (making it look like another option). --passphrase or --passphrase-file instead.