Я пытаюсь преобразовать кучу изображений в миниатюры, которые могут быть в нескольких подкаталогах, и сохранить копию изображения в виде миниатюры внутри подкаталога, но я не могу понять синтаксис. Любой совет приветствуется.
convert test/*/*.jpg -50x50 test/*/*_thumb.jpg
Также должен выполняться цикл оболочки:
for file in test/*/*.jpg ; do
new=${file%.jpg}_thumb.jpg
convert "$file" -resize 50x50 "$new"
done
Или с Bash globstar, что лучше, если файлы могут быть на произвольных уровнях каталогов:
shopt -s globstar
for file in test/**/*.jpg ; do ...
${file%.jpg} принимает значение переменной file и удаляет строку .jpg с конца. (см. BashGuide о разложениях параметров)