Decrypt files encrypted with gpg using xargs

gpgxargs

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.

Best Answer

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
Related Question