Работа с подстановочными файлами ввода и сохранение вывода в виде <input> + суффикс
Я хочу выполнить пакетную обработку списка входных файлов с подстановочными знаками, а затем вывести их на входное имя файла с добавлением суффикса. Я надеюсь понять этот общий случай.
В частности я бегаю
convert *.jpg -resize 800x600 ... *-resized.jpeg
Под Fedora21 с ImageMagick 6.6.8 приятно то, что он добавляет суффикс числа, но я стараюсь сохранить исходное имя файла и добавить суффикс. т.е. он выводит * -resized-0.jpeg * -resized-1.jpeg...
Проверено это не представляется возможным, несколько входных и выходных файлов в awk
редактировать: это возможно, или мне нужно написать сценарий?
1 ответ
Это зависит от того, как вы определяете слово "сценарий". Возможно, это скрипт:
for f in *.jpg
do
convert "$f" -resize 800x600 ... "${f%.*}"-resized.jpeg
done
но вы можете просто напечатать это в своем терминале. Команда (или любое количество команд) между do
и done
get (s) выполняется один раз для каждого файла, который соответствует *.jpg
, с $f
установить для каждого имени файла. ${f%.*}
это форма расширения параметра, которая удаляет расширение имени файла (сопоставление строк .*
) с конца (т. е. с правой стороны) $f
имя файла.
Наименование выходных файлов .jpeg
вместо .jpg
это хорошая идея, чтобы предотвратить *.jpg
подстановочный знак от их соответствия. Другой подход заключается в записи выходных файлов в другой каталог.