xargs を使用して gpg で暗号化されたファイルを復号化する

xargs を使用して gpg で暗号化されたファイルを復号化する

私はたくさんのファイルを暗号化していますグーグルすべてのファイルに同じパスワードが設定されています。xargs を使用してファイルを復号化することは可能ですか?

ls | xargs -n 1 gpgすべてのファイルに対してパスワードを要求します。

答え1

走るgpgエージェントまたは同様のプログラム。ドキュメントの説明に従って、実行中のエージェントを検索するように gpg を設定します。エージェントにパスフレーズを 1 回だけ入力します (このセッション中)。

ls | xargs -n 1 gpgファイル名に特殊文字が含まれていない場合にのみ機能します。一般的に言えば、出力を解析しないlsxargsファイルごとにプログラムを 1 回実行したい場合は意味がありません。代わりに次のようにします。

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 にデコードされます。

関連情報