gpg deszyfrowanie wielu plików w jednym strumieniu


3

Chciałbym odszyfrować kilka zaszyfrowanych plików gpg w jednym strumieniu, aby przesłać je do innego polecenia bez żadnego pliku tymczasowego. $ cat foo1.txt.gpg foo2.txt.gpg | gpg -d | wc -l zlicza tylko linie foo1, nie wliczając foo2.

Opcja --decrypt-files jest w stanie odszyfrować wiele plików, ale wydaje się, że nie jest w stanie potokować wszystkich odszyfrowanych plików na jednym wyjściu: $ gpg --decrypt-files foo * .txt.gpg | wc -l (wyświetli 0)

Wszelkie wskazówki są mile widziane

Odpowiedzi:


3

Myślę, że powinieneś używać wielu wywołań gpg w pętli:

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

Wiele wywołań gpg będzie wymagać podania hasła wielokrotnie, chyba że użyjesz agenta gpg lub podobnego:

gpg-agent --daemon sh -c \
'{ for i in foo1.txt.gpg foo2.txt.gpg; do gpg -d < $i; done; } | wc -l'

@revher: Cieszę się, że to głowa. Przyjmij tę odpowiedź, aby wskazać ten fakt. Nadal możesz zmienić znacznik wyboru później, jeśli pojawi się jakaś lepsza odpowiedź.
MvG
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.