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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Вычленение имени файла из переменной (bash)  (Прочитано 3055 раз)

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

Оффлайн RUSNYA-SOSEE-KHUI

  • Автор темы
  • Участник
  • *
  • Сообщений: 120
  • ALLO SYSTEMD ETO TI?
    • Просмотр профиля
Прошу помощи вот в таком деле.
Я коллекционирую картинки с одного сайта, но на них всегда стоит копирайт, 30 пикселей снизу. Я иногда эти картинки размещаю на других ресурсах, а так как их скапливается очень много, вручную обрезать надоело очень быстро. Поэтому я решил написать скрипт для этого дела. Скрипт, помещенный в папку с картинками, по запуску создает на каталог выше папку с датой запуска, берет все картинки по очереди из папки и при помощи imagemagiсk отрезает им 30 нижних пикселей. Во избежание путаницы, вычленяется имя файла и спереди дописывается "cropped" (обрезанный). После обработки изначальные изображения удаляются.
Все работает, но проблема в том, что имя файла я вычленяю при помощи обрезки cut по заданному номеру символа. Соответственно, работать скрипт будет без изменений только на моем сферическом коне в вакууме. Если я захочу поделиться с кем-то или даже решу перенести папку с изображениями в другое место, надо будет считать символы и править вручную.
Я не настолько опытен, и не особо знаком с обработкой текстовых строк, поэтому хотел бы попросить совета, как сделать этот момент правильней. Вот фрагмент, где вычленяется имя.
for image in $dir/*.jpg
do
name=`echo $image | cut -c 37-`
if [ ! -e ../$date/cropped-$name ]
then
convert -gravity South -chop 0x30 $image ../$date/cropped-$name
... и т.д.
done
upyachka lifestyle

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Вычленение имени файла из переменной (bash)
« Ответ #1 : 24 Августа 2012, 08:24:26 »
man basename
man dirname

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: Вычленение имени файла из переменной (bash)
« Ответ #2 : 24 Августа 2012, 08:39:56 »
>>  Вот фрагмент, где вычленяется имя.

Полный скрипт показать сложно?

Оффлайн RUSNYA-SOSEE-KHUI

  • Автор темы
  • Участник
  • *
  • Сообщений: 120
  • ALLO SYSTEMD ETO TI?
    • Просмотр профиля
Re: Вычленение имени файла из переменной (bash)
« Ответ #3 : 24 Августа 2012, 12:38:07 »
alexander.pronin,
спасибо огромное, пытался гуглить, но не мог адекватно запрос сформулировать
Señor_Gaga,
несложно, но для решения хватило того, что я написал. Идя навстречу пожеланиям трудящихся:
(Нажмите, чтобы показать/скрыть)

может какие-то еще замечания будут.
upyachka lifestyle

 

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