3

Я хотел бы расшифровать несколько зашифрованных файлов gpg в одном потоке, чтобы передать их в другую команду без какого-либо временного файла. $ cat foo1.txt.gpg foo2.txt.gpg | gpg -d | wc -l будет считать только строки foo1, не считая foo2.

Опция --decrypt-files может расшифровывать несколько файлов, но, похоже, не может передать все расшифрованные файлы в один стандартный вывод:$ gpg --decrypt-files foo * .txt.gpg | wc -l (будет выводить 0)

Любая подсказка приветствуется

1 ответ1

3

Я думаю, вы должны использовать несколько вызовов gpg в цикле:

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

Несколько вызовов gpg будут запрашивать ваш пароль несколько раз, если вы не используете gpg agent или аналогичный:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .