Как указано в комментариях, вы не можете использовать подстановочные знаки в качестве вывода. Если вы хотите перезаписать исходные файлы обновленным цветовым пространством, вы можете попробовать утилиту mogrify
.
mogrify -set colorspace Gray -separate -average *.jpg
Но это может быть рискованно как ваши разрушающие оригиналы. Простой цикл for может легко планироваться и управляться.
for filename in $(ls *.jpg)
do
convert "$filename" -set colorspace Gray -separate -average "output_${filename}"
done
в конечном итоге мне нужно будет конвертировать несколько тысяч
Если вы действительно сталкиваетесь с большим количеством задач, я бы предложил распределить задачи по нескольким ядрам ЦП. Возможно с GNU Parallel.
parallel convert {} -set colorspace Gray -separate -average output_{.} ::: *.jpg
Конечно, я предполагаю, что вы работаете с BASH в * nix системе. YMMV в другом месте.