Как конвертировать рекурсивное содержимое подпапок в формат PDF?

У меня есть папка с тоннами подпапок, содержащих PNG. Как я могу рекурсивно пройти через подпапки и конвертировать эти файлы в PDF?
PDF-файл должен иметь имя подпапки и быть сохранен в начальной папке... в папках нет папок, проблем с двойными именами не ожидается. Я начинающий, пробовал другие идеи, но случались ужасные вещи...

Джо

2 ответа

Сценарий, подобный этому, сработает

#!/bin/bash
for D in `find . -mindepth 1 -type d`
do
    convert `ls -1v $D/*.png` $D.pdf
done

Предполагая, что дерево каталогов так:

$ tree pngs/
pngs/
├── png1
│   ├── hw3.png
│   └── test.png
└── png2
    ├── hw3.png
    └── test.png

Вы можете добиться того, что вы просите, следующим образом:

for dir in pngs/*; do 
    cd "$dir"
    convert ./*.png "$(basename "$dir")".pdf
    cd - 
done

Результат:

$ tree pngs/
pngs/
├── png1
│   ├── hw3.png
│   ├── png1.pdf
│   └── test.png
└── png2
    ├── hw3.png
    ├── png2.pdf
    └── test.png
Другие вопросы по тегам