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

rozkoszować się
źródło

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'
MvG
źródło
@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