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

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'

@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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.