Как открыть несколько файлов изображений из командной строки, последовательно, для редактирования?

Допустим, у меня есть три файла изображений для редактирования. Рассмотрим все файлы в ~/Pictures. Пусть имя первого файла будет 1.svg, имя второго файла будет 2.svg, а имя третьего файла будет 3.svg. У меня есть редактор Inkscape. Теперь я хочу, чтобы скрипт bash был выполнен так, чтобы произошло следующее:

  1. Сначала 1.svg должен открыться, чтобы я мог отредактировать.
  2. После редактирования, когда я закрываю этот файл, автоматически открывается 2.svg, чтобы я мог редактировать.
  3. Теперь, когда я закончу редактирование 2.svg, я хочу открыть 3.svg для редактирования.
  4. Теперь после редактирования 3.svg скрипт должен завершиться закрытием GIMP.

PS: - Если вам интересно, если это домашняя работа, это не так! См. здесь . Вы заметите, что я должен редактировать изображения там. Чтобы сделать этот ответ лучше, мне нужна помощь здесь. Поэтому, пожалуйста, помогите. Также Я ПОЛНЫЙ НАЧИНАЮЩИЙ . Я ничего не знаю о Баш. Поэтому объясните свой ответ как можно более подробно . Также вы можете рассмотреть вопрос об ответе в редакторе GIMP для редактирования файлов .jpg. Это может быть полезно для других. Кстати, я использую 14.04 LTS. Заранее спасибо.

ОБНОВЛЕНИЕ: - Приведенный выше связанный ответ был отредактирован в соответствии с принятым ответом ниже.

7
задан 13 April 2017 в 15:23

3 ответа

Как Rmano говорит, можно просто сделать for цикл в терминале:

for i in 1.jpg 2.jpg 3.jpg; do gimp $i; done

Или выполненный это в каталоге, где файлы, или каждый файл, должно иметь остальную часть пути к нему. Можно поместить столько файлов, сколько Вы хотите там.

GIMP откроет файл, Вы редактируете его, и затем закрываете GIMP. Как только GIMP закрывается, for, цикл продолжает и открывает следующий файл в списке.

, Если Вы не хотите закрывать GIMP каждый раз, можно попытаться добавить read -p:

for i in 1.jpg 2.jpg 3.jpg; do gimp $i && read -p "Press [Enter] key to continue..."; done

, Как только Вы заканчиваете редактировать файл, необходимо быть в состоянии нажать Enter в терминале, и следующий файл должен открыться в GIMP, не имея необходимость закрывать GIMP.

Это - самый простой способ, которым я мог думать, это может получить сложную попытку обнаружить, когда GIMP закрывает файл.

Примечание для Вашего случая

большинство файлов является файлами SVG как Rmano, на который указывают. Так перечислите все свои файлы SVG и замените gimp inkscape. Файлы PNG согласятся с gimp.

0
ответ дан 13 April 2017 в 15:23

Следующая команда открывает файлы в приложении , связанном со значением по умолчанию:

edit 1.svg 2.svg 3.svg

, Если Вы хотите открыться весь эти .svg файлы в алфавитном порядке, можно использовать * подстановочный знак:

edit *.svg

* обозначает любую последовательность символов, таким образом, можно использовать ее другими способами; например, для последовательного открытия .svg файлы, имя которых содержит wibble:

edit *wibble*.svg

Другие подстановочные знаки существуют, если Вы хотите выбрать файлы на основе шаблонов с более прекрасными зернами.

0
ответ дан 13 April 2017 в 15:23

Вы могли попробовать что-то вроде этого:

shopt -s nullglob
for i in *
do
    if [ -d "$i"  ]
     then
        continue
    else
        inkscape "$i"

    fi
done

я протестировал его на своем каталоге Pictures, и это, казалось, работало.

я еще не полностью понимаю первую строку, но это там, чтобы помочь удостовериться мой * работы. for цикл тогда циклы через все в текущем каталоге по одному. Если это не каталог, это открывает его в Inkscape для редактирования.

, Когда Вы сделаны, редактируя и закрываете inkscape, следующее изображение откроется, пока больше не будет изображений.

<час>

Для Вашего конкретного случая (после чтения связанного вопроса) это могло бы работать лучше. Помните к cd к /usr/share/unity/icons и затем выполните это:

for i in file1.svg file2.svg file3.svg
do
    if [ -d "$i"  ]
     then
        continue
    else
        inkscape "$i"

    fi
done  

замена file1.svg file2.svg file3.svg со списком файлов Вы хотите отредактировать.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: