gpg decriptografando vários arquivos em um fluxo

3

Eu gostaria de descriptografar vários arquivos criptografados por gpg em um único fluxo para ser canalizado para outro comando sem nenhum arquivo temporário. $ cat foo1.txt.gpg foo2.txt.gpg | gpg -d | wc -l contará apenas as linhas de foo1, não incluindo foo2.

A opção --decrypt-files é capaz de descriptografar vários arquivos, mas parece não conseguir canalizar todos os arquivos descriptografados em um único stdout: $ gpg --decrypt-files foo * .txt.gpg | wc -l (saída 0)

Qualquer dica é bem-vinda

    
por revher 18.07.2013 / 13:23

1 resposta

3

Eu acho que você deve usar várias invocações de gpg em um loop:

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

As várias invocações de gpg pedem sua senha várias vezes, a menos que você use um agente gpg ou similar:

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