1

Я хочу выполнить пакетную обработку списка входных файлов с подстановочными знаками и затем вывести их на входное имя файла с добавленным суффиксом. Я надеюсь понять этот общий случай.

В частности я бегаю

    convert *.jpg -resize 800x600 ... *-resized.jpeg

Под Fedora21 с ImageMagick 6.6.8 приятно то, что он добавляет суффикс числа, но я стараюсь сохранить исходное имя файла и добавить суффикс. т.е. выводит * -resized-0.jpeg * -resized-1.jpeg ...

Проверено это не представляется возможным, несколько входных и выходных файлов в awk

редактировать: это возможно, или мне нужно написать сценарий?

1 ответ1

2

Это зависит от того, как вы определяете слово "сценарий".  Возможно, это скрипт:

for f in *.jpg
do
    convert "$f" -resize 800x600 ... "${f%.*}"-resized.jpeg
done

но вы можете просто напечатать это в своем терминале.  Команда (или любое количество команд) между do и done get (s) выполняется один раз для каждого файла, соответствующего *.jpg , с $f установленным для каждого имени файла.  ${f%.*} - это форма раскрытия параметров, которая удаляет расширение имени файла (сопоставление строк .*) с конца (т. е. с правой стороны) имени файла $f .

Рекомендуется присваивать имена выходным файлам .jpeg вместо .jpg , чтобы подстановочный знак *.jpg совпадал с ними.  Другой подход заключается в записи выходных файлов в другой каталог.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .