В цикле for можно использовать функции, описанные в человек
в
Расширение параметра
...
${параметр%%слово}
Удалить соответствующий шаблон суффикса. Слово расширяется, чтобы создать шаблон только
как в расширении пути. Если шаблон соответствует конечной части
расширенное значение параметра, то результатом расширения является расширенное
значение параметра с кратчайшим шаблоном соответствия (случай ``%'') или
самый длинный совпадающий шаблон (случай ``%%'') удален. Если параметр @ или *,
операция удаления шаблона применяется к каждому позиционному параметру по очереди,
и расширение является результирующим списком. Если параметр является переменной массива
с индексом @ или * операция удаления шаблона применяется к каждому элементу
массива по очереди, а расширение представляет собой результирующий список.
Следующий однострочник должен выполнить эту работу.
для f в ./*.jpg ; конвертировать "$f" -resize 1200x900 "${f%.jpg}-small.jpg" ; сделано
Это работает в бить
, которая является стандартной оболочкой Ubuntu.Я думаю, что его легче запомнить, чем элегантный метод Steeldriver (который использует только конвертировать
и нет за
построить).