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.