Расшифруйте несколько файлов с защитой паролем и pdf

Я пробовал эту команду, но я думаю, что что-то не так с '{}' '{}' . По последнему, я хочу InputXYZ.pdf OutputXYZ.pdf (я не хочу никаких файлов dupe, я хочу заменить старые файлы, чтобы сделать чтение более удобным).

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

Если у вас есть более простые и простые идеи для обработки подобных повторяющихся пробных запросов с другими программами, не стесняйтесь комментировать или отвечать. На самом деле, мои учителя используют много разных паролей, и совершенно бесполезно читать документы. Возможно, какой-то файл с их паролями, а затем только find -cmd проверяет каждую возможность?

  • Найдите общее использование диска, не включая файлы, содержащие строку
  • Есть ли файл журнала для команды find?
  • Как искать все файлы SUID / SGID?
  • Найти команду: поиск исполняемых файлов
  • Нужен абсолютный путь для каждой строки из текстового файла с использованием сценария оболочки
  • Найти и заменить с помощью частей найденной строки в строке замены
  • Сценарий Bash для копирования определенных каталогов с сопоставлением с образцом
  • Добавить путь к имени файла
  • 2 Solutions collect form web for “Расшифруйте несколько файлов с защитой паролем и pdf”

    Вы не можете сделать входной файл таким же, как выходной файл. В лучшем случае qpdf будет жаловаться и ничего не делать. В худшем случае он усекает выходной файл до нулевых байтов, а затем пожалуется, что входной файл пуст. Поэтому используйте это:

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

    Вы можете вернуться и удалить дубликаты, как только вы знаете, что qpdf не qpdf ваши файлы неожиданным образом.

    Учитывая ответ @ Kyle Jones как decrypt_all_files_with() , вы можете обернуть все в цикл for,

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

    (но вы, возможно, захотите использовать -exec вместо -ok , так как он не запрашивает подтверждение).

    Linux и Unix - лучшая ОС в мире.