Форум русскоязычного сообщества Ubuntu


Автор Тема: Не могу дописать скрипт.  (Прочитано 166 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dimensi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Не могу дописать скрипт.
« : 06 Март 2016, 03:37:40 »
Написал скрипт который берет все файлы, распределяет по папкам и накидывает watermark, а потом отправляет на ftp через curl.
Код: Bash
  1. #!/bin/bash
  2. mkdir jpg_s;
  3. mkdir watermark;
  4. for file in *.jpg
  5. do
  6.         convert $file -resize 300x300 jpg_s/"`basename $file .jpg`_s.jpg"
  7. done;
  8. for file in jpg_s/*.jpg
  9. do
  10.         width=$(identify -format %w $file)
  11.         composite -dissolve 65% -gravity center -quality 100 \( /watermarks/logo.png -resize $(( $width / 100 * 90 )) \) $file watermark/"`basename $file .jpg`.jpg"
  12. done;
  13. for file in *.jpg
  14. do
  15.         width=$(identify -format %w $file)
  16.         composite -dissolve 70% -gravity center -quality 100 \( /watermarks/logo.png -resize $(( $width / 100 * 90 )) \) $file watermark/"`basename $file .jpg`.jpg"
  17. done;
  18. for file in watermark/*.jpg
  19. do
  20.         curl -T $file ftp://ftp.test/test/ --user test:test
  21. done;
  22.  
Вопрос такой: Как сделать так, чтоб скрипт выбирал опр. файл изменял ему размер и отправлял на ftp. У всех остальных файлов есть окончание в виде -(?).jpg или -(?)_m.jpg, как мне сделать выборку с исключением этих окончаний ? Просто тот файл уменьшается на другой размер.
Заранее спасибо.
P.S. Скрипт я полностью сам написал, но написал без базы в bash. Я просто находил, что-то могло помочь, а потом путем метода проб и ошибок получилось вот это. Потратил на эти 20 строчек 5 часов времени xD
« Последнее редактирование: 06 Март 2016, 03:47:36 от Azure »

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5664
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Re: Не могу дописать скрипт.
« Ответ #1 : 06 Март 2016, 03:46:54 »
Ecли я понял что Вы имели ввиду
Код: Bash
  1. for file in *[^m)].jpg
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14922
  • Я не слышу.
    • Просмотр профиля
Re: Не могу дописать скрипт.
« Ответ #2 : 06 Март 2016, 03:52:25 »
Цитировать
ftp
curlftpfs это mount.
~.o

Оффлайн Dimensi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Не могу дописать скрипт.
« Ответ #3 : 06 Март 2016, 04:42:44 »
Ecли я понял что Вы имели ввиду
Код: Bash
  1. for file in *[^m)].jpg
Большое вам спасибо! Часа 3 в пустую потратил не мог понять как это реализовать!

 

Страница сгенерирована за 0.069 секунд. Запросов: 24.