Bash - Извлечение определенных страниц всех PDF в папку / папки - PullRequest
1 голос
/ 13 марта 2019

Я ищу команду для терминала bash для решения следующей проблемы:

У меня есть около 100 pdf в папке, из которой я хочу, чтобы только третья страница была извлечена и сохранена как tiff в той же папке с тем же именем, что и исходный pdf, и впоследствии удалила pdf.

Будет ли это выглядеть так?

for i in *.pdf; do pdftk "${i%.pdf}.pdf" cat 3 output "${i%.pdf}.pdf"; convert "${i%.pdf}.pdf" "${i%.pdf}.tiff"; rm *.pdf; done

Бонус

У меня те же 100 pdf, разделенные на три папки a, b и c.

В папке a из всех pdf там я просто хочу извлечь третью страницу (как и выше), в папке b Я хочу извлечь только четвертую страницу и в папке c Я хочу иметь третья и четвертая страница извлечены. Все извлеченные страницы должны быть в формате TIFF с тем же именем, что и исходный PDF. После этого все PDF-файлы во всех трех папках могут быть удалены.

Как мне этого добиться?

1 Ответ

0 голосов
/ 17 марта 2019

Требуется GNU Parallel 20160422:

doit() {
  parallel pdftk {} cat "$2" output - '|'convert pdf:- {.}.tiff ::: "$1"/*pdf;
}
export -f doit
parallel doit ::: a b c :::+ 3 4 3-4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...