Допустим, у меня есть три файла изображений для редактирования. Рассмотрим все файлы в ~/Pictures
. Пусть имя первого файла будет 1.svg
, имя второго файла будет 2.svg
, а имя третьего файла будет 3.svg
. У меня есть редактор Inkscape. Теперь я хочу, чтобы скрипт bash был выполнен так, чтобы произошло следующее:
1.svg
должен открыться, чтобы я мог отредактировать. 2.svg
, чтобы я мог редактировать. 2.svg
, я хочу открыть 3.svg
для редактирования. 3.svg
скрипт должен завершиться закрытием GIMP. PS: - Если вам интересно, если это домашняя работа, это не так! См. здесь . Вы заметите, что я должен редактировать изображения там. Чтобы сделать этот ответ лучше, мне нужна помощь здесь. Поэтому, пожалуйста, помогите. Также Я ПОЛНЫЙ НАЧИНАЮЩИЙ . Я ничего не знаю о Баш. Поэтому объясните свой ответ как можно более подробно . Также вы можете рассмотреть вопрос об ответе в редакторе GIMP для редактирования файлов .jpg. Это может быть полезно для других. Кстати, я использую 14.04 LTS. Заранее спасибо.
ОБНОВЛЕНИЕ: - Приведенный выше связанный ответ был отредактирован в соответствии с принятым ответом ниже.
Как 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
.
Следующая команда открывает файлы в приложении , связанном со значением по умолчанию:
edit 1.svg 2.svg 3.svg
, Если Вы хотите открыться весь эти .svg
файлы в алфавитном порядке, можно использовать *
подстановочный знак:
edit *.svg
*
обозначает любую последовательность символов, таким образом, можно использовать ее другими способами; например, для последовательного открытия .svg
файлы, имя которых содержит wibble
:
edit *wibble*.svg
Другие подстановочные знаки существуют, если Вы хотите выбрать файлы на основе шаблонов с более прекрасными зернами.
Вы могли попробовать что-то вроде этого:
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
со списком файлов Вы хотите отредактировать.