Descriptografar vários arquivos protegidos por senha com pdf

5

Eu tentei este comando, mas acho que algo está errado com '{}' '{}' . Por último, eu quero InputXYZ.pdf OutputXYZ.pdf (eu não quero nenhum arquivo dupe, eu quero substituir os arquivos antigos para tornar a leitura um pouco mais conveniente).

$ find . -name "*.pdf" -ok qpdf --password=passMe --decrypt '{}' '{}' \;

Se você tiver idéias melhores e mais simples para lidar com esse tipo de problemas de digitação de passadas repetitivas com outros programas, não hesite em comentar ou responder. Na verdade, meus professores usam muitas senhas diferentes e é muito complicado ler os documentos. Talvez, algum arquivo com suas senhas e, em seguida, apenas o find -cmd testando todas as possibilidades?

    
por Braiam 21.01.2012 / 01:04

2 respostas

2

Você não pode tornar o arquivo de entrada igual ao arquivo de saída. Na melhor das hipóteses, qpdf vai reclamar e não fazer nada. Na pior das hipóteses, truncará o arquivo de saída para zero bytes e depois reclamará que o arquivo de entrada está vazio. Então use isso:

find . -name "*.pdf" -ok qpdf --password=passMe --decrypt '{}' '{}'.decoded.pdf \;

Você pode voltar e remover os dups assim que souber que qpdf não lixou seus arquivos de alguma forma inesperada.

    
por 21.01.2012 / 04:31
2

Dado @a a resposta de Kyle Jones como decrypt_all_files_with() , você pode agrupar tudo em um loop,

for pass in $(cat passwords.txt)
  do decrypt_all_files_with($pass)
done

(mas você possivelmente quer usar -exec em vez de -ok , já que não pede confirmação).

    
por 21.01.2012 / 11:44

Tags