LINUX.ORG.RU

bash скрипт


0

0

Нужно перегнать изображения из jpg в png (не смейтесь)

#!/bin/bash

for n in '3 158';

do

  convert p$n.jpg $j.png


done

выскакивает вот такая ошибка

convert: unable to open image `p3':  @ error/blob.c/OpenBlob/2484.
convert: unable to open image `158.jpg':  @ error/blob.c/OpenBlob/2484.
convert: unable to open image `3':  @ error/blob.c/OpenBlob/2484.
convert: missing an image filename `158.png' @ error/convert.c/ConvertImageCommand/2919.

где накосячил? не вручную же их перегонять

Напиши перед convert echo. После этого проверь вывод скрипта на корректность, в частности, правильность имен файлов.

nnz ★★★★
()
Ответ на: комментарий от sdio

Может быть я что-то не так понял?

Автору нужно сконвертировать изображения:

p3.jpg -> 3.png
p3.jpg -> 3.png
p4.jpg -> 4.png
p5.jpg -> 5.png
p6.jpg -> 6.png
pn.jpg -> n.png
p158.jpg -> 158.png

Что мой скрипт и делает:

#!/bin/bash   
   
for n in `seq 3 158`;

do

	convert p$n.jpg $n.png

done
Вывод:
convert p3.jpg 3.png
convert p4.jpg 4.png
convert p5.jpg 5.png
convert p6.jpg 6.png
convert p7.jpg 7.png
convert p8.jpg 8.png
convert p9.jpg 9.png
convert p10.jpg 10.png
convert p11.jpg 11.png
convert p12.jpg 12.png
В результате будут выполнены следующие комманды.

edigaryev ★★★★★
()

Во-первых, где у Вас определяется $j?

Во-вторых, ну кавычки же! «p$n.jpg» надо писать (если только нет необходимости передать слова по отдельности — кучу опций, например)

lodin ★★★★
()
Ответ на: комментарий от edigaryev

Все работает. Спасибо. J там вообще не нужна, сохранять же не надо ничго.

brainwasher
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.