1 (18.02.2015 17:08:05 отредактировано 1000Mhz)

Не понимаю, в чем тут проблема:
1. есть утилита, обрабатывающая некоторый массив данных с использованием регулярных выражений,
2. регулярное выражение задается так:

.. -e 'some-regex'

Проблема в том, что в виде

.. -e "some-regex"

оно просто не обрабатывается. Естественно, попробовал так:

R=" 'regex' "
.. -e "$R"

но не тут-то было! ab Значит, делаю что-то не так.. Пока решения не нашел((

Leap 42.3 Calculate Linux, Xfce, Emacs, ..

2

$ reg='s/111/222/'
$ echo 111222 | sed -e ${reg}

3 (18.02.2015 17:27:04 отредактировано 1000Mhz)

kostik87, точно, кавычки не нужны вообще!

R='regex'
.. -e $R

Спасибо, решено.

Leap 42.3 Calculate Linux, Xfce, Emacs, ..

4

1000Mhz пишет:

точно, кавычки не нужны вообще!

вы не правы. Нужны двойные кавычки

 Консоль:
sed "$reg"

а "не нужно" -e и ещё  {}.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5 (19.02.2015 11:49:24 отредактировано 1000Mhz)

drBatty пишет:

Нужны двойные кавычки

Да, желательно. Я так всегда и писал раньше, но потом кавычек стало слишком дохрена, и я стал писать без них))) Закавычивать все подряд -тоже перебор, читаемость ухудшается.

Leap 42.3 Calculate Linux, Xfce, Emacs, ..

6

1000Mhz пишет:

Я так всегда и писал раньше, но потом кавычек стало слишком дохрена, и я стал писать без них

"давно" это сколько дней? bj

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

7

drBatty пишет:

"давно" это сколько дней?

Давно- это года три примерно. Только обычно как-то менее 200 строк и отладка не требовалась  ab

Leap 42.3 Calculate Linux, Xfce, Emacs, ..

8

1000Mhz пишет:

Давно- это года три примерно.

не верю.

1000Mhz пишет:

Закавычивать все подряд -тоже перебор, читаемость ухудшается.

кавычки ИМХО нужно ставить только если они необходимы в общем случае. Тогда заковыченные строковые литералы грамотный редактор подсвечивает.

Вот ещё пример: заменить везде литерал "Машка", на "Мария Ивановна". А если их Over9000?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)