На самом деле это единственный раздел про unix на этом форуме
Модераторы: /dev/random , Модераторы разделов
Malcolm
Сообщения: 860
Статус: Изменник
ОС: Archlinux on IBM Z60m
Контактная информация:
Сообщение
Malcolm » 23.01.2007 11:17
Бодрый и Веселый писал(а): ↑ 22.01.2007 22:09
Можно так:
Код: Выделить всё
MODULES="a b c"; echo "MODULES=(e f g)" | sed -e "s/^MODULES=(.*)$/MODULES=(${MODULES})/"
спасибо, помогло.
Ещё есть вопросик
Код: Выделить всё
TIMEZONE="Asia/Yekaterinburg"
sed -i -e 's/\(^TIMEZONE.*\)/TIMEZONE=\"Asia\/Yekterinburg\"/' /etc/rc.conf
Т.е. когда напрямую пишешь, всё нормально, а если через переменную брать значение, то sed спотыкается, как я понимаю на обратном слэше. Можно ли экранировать слэш не в переменной, а в "вызове" переменной?
Win7 on X200s || Android 2.3 on Galaxy Tab
Блог
Бодрый и Веселый
Сообщения: 66
ОС: What?
Сообщение
Бодрый и Веселый » 23.01.2007 12:43
Код: Выделить всё
TIMEZONE="Asia/Yekaterinburg"; echo "TIMEZONE=" | sed -e "s/^TIMEZONE.*$/TIMEZONE=\"${TIMEZONE//\//\/}\"/"
Слеш можно экранировать бэкслешем при подстановке, с помощью регулярного выражения.
Бодрый и Веселый
Сообщения: 66
ОС: What?
Сообщение
Бодрый и Веселый » 01.03.2007 01:31
У меня тоже вопрос:
Код: Выделить всё
fc="find ."; fr=`${fc}`; echo "${fr}" # Работает
echo "`find . -name '*'`" # Тоже
fc="find . -name '*'"; fr=`${fc}`; echo "${fr}" # Ошибка
Как исправить последний вариант?
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих
Сообщение
elide » 01.03.2007 04:29
Код: Выделить всё
fc="find . -name '*'"; fr=`eval ${fc}`; echo "${fr}"
слава роботам!
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux
Сообщение
Voice » 01.03.2007 17:50
Можно пару мелких вопросов от меня?
1) Что за команда la?? Это внутреняя команда баша?
2) Как дописать в файл (одной командой), а то cat его переписывает?
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Liksys
Сообщения: 2910
Сообщение
Liksys » 01.03.2007 17:54
1) "la" - псевдоним "ls -al"
2) cat ... > ... - перезаписывает, cat ... >> ... - добавляет.
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux
Сообщение
Voice » 01.03.2007 18:07
Liksys писал(а): ↑ 01.03.2007 17:54
1) "la" - псевдоним "ls -al"
2) cat ... > ... - перезаписывает, cat ...
>> ... - добавляет.
Спасибо. Про la я так и думал, но немогу ее ни как найти.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов