Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Непрочитанное сообщение
Fastman » 2009-02-09 13:13:53
Есть путь в виде строки:
Как красиво сделать из этой строки средствами sh:
Те необходимо изменить расширение файла и добавить префикс директории в которой он будет находиться.
P.S.
Путь могет быть и
т.е. префикс нужно менять только у последней директории.
Главное в жизни здоровье и любовь, остальное я все куплю.
Fastman
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-02-09 14:21:54
Код: Выделить всё
zg# pwd
/usr/home/zg
zg# basename `dirname $PWD`
home
zg#
zg
-
Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Непрочитанное сообщение
Fastman » 2009-02-09 15:27:13
zg писал(а):Код: Выделить всё
zg# pwd
/usr/home/zg
zg# basename `dirname $PWD`
home
zg#
Это понтяно...
Мне надо ИЗМЕНИТЬ путь и расширение в строке...
Главное в жизни здоровье и любовь, остальное я все куплю.
Fastman
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-02-09 15:56:07
Fastman писал(а):Мне надо ИЗМЕНИТЬ путь и расширение в строке...
гм... это может показаться странным, но мне вспомнилась мегаигра - лого, с черепашкой. Не игрался с ней? -)) С виду простые действия, но результат может быть очень сложным.
Код: Выделить всё
zg# ./1.sh
/usr/local/etc/rc.d_someprefix/script.sh.ext2
zg# cat 1.sh
#!/bin/sh
file=/usr/local/etc/rc.d/script.sh
FILENAME=`basename "${file}"`
DIRPATH=`dirname "${file}"`
DIRNAME=`basename "${DIRPATH}"`
DIRPATH=`dirname "${DIRPATH}"`
PREFIX="_someprefix"
POSTFIX=".ext2"
TRANSLATEPATH="${DIRPATH}/${DIRNAME}${PREFIX}/${FILENAME}${POSTFIX}"
echo "${TRANSLATEPATH}"
можно сделать и с помощью awk, дело вкуса -)
zg
-
Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Непрочитанное сообщение
Fastman » 2009-02-09 18:27:41
ZG - спасибо, разобрался
Я вроде не тупой, но ленивый
Главное в жизни здоровье и любовь, остальное я все куплю.
Fastman