gpg entschlüsselt mehrere Dateien in einem Stream

3

Ich möchte mehrere gpg-verschlüsselte Dateien in einem einzigen Stream entschlüsseln und an einen anderen Befehl ohne temporäre Datei weiterleiten. $ cat foo1.txt.gpg foo2.txt.gpg | gpg -d | wc -l zählt nur die Zeilen von foo1 ohne foo2.

Die Option --decrypt-files kann mehrere Dateien entschlüsseln, scheint aber nicht in der Lage zu sein, alle entschlüsselten Dateien auf einem einzigen Standardausgang zu übergeben: $ gpg --decrypt-files foo * .txt.gpg | wc -l (gibt 0 aus)

Jeder Hinweis ist willkommen

revher
quelle

Antworten:

3

Ich denke, Sie sollten mehrere gpg-Aufrufe in einer Schleife verwenden:

{ for i in foo1.txt.gpg foo2.txt.gpg; do gpg -d < $i; done; } | wc -l

Bei mehreren gpg-Aufrufen werden Sie mehrmals nach Ihrem Kennwort gefragt, es sei denn, Sie verwenden einen gpg-Agenten oder ähnliches:

gpg-agent --daemon sh -c \
'{ for i in foo1.txt.gpg foo2.txt.gpg; do gpg -d < $i; done; } | wc -l'
MvG
quelle
@revher: Schön das zu leiten. Fühlen Sie sich frei, um diese Antwort zu akzeptieren. Sie können das Häkchen später noch ändern, wenn eine bessere Antwort angezeigt werden soll.
MvG