Решено: Потоковый редактор sed (Вопрос по синтаксису)

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Славик
Сообщения: 159
ОС: AltLinux2.4 master

Решено: Потоковый редактор sed

Сообщение Славик »

Пытаюсь разобраться в стартовых сценариях, и столкнулся с проблемой непонимания синтаксиса некоторых команд, например sed.

В сценарии /etc/rc.d/init.d/dm читаю такой код:

Код: Выделить всё

 ...sed -ne 's,^\([0-9]\+\):[0-9]\+:respawn:/sbin/mingetty.*,/dev/tty\1,pg' </etc/inittab...


Второй аргумент команды sed мне непонятен. Я просмотрел man sed, натащил из сети кучу статей по нему, и все равно не понимаю. Выражение s/pattern1/pattern2/flag заменяет все вхождения pattern1 на pattern2, но это вроде не то. Собственно, я понимаю, все после "s," и до ",pg" - регулярное выражение. Если не ошибаюсь, pg - печатать глобально, а вот как понимать этот самый s,?

Заранее спасибо.
Познание бесконечности требует бесконечного времени.
А. и Б. Стругацкие
Понедельник начинается в субботу
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Решено: Потоковый редактор sed

Сообщение sash-kan »

Славик писал(а):
21.07.2007 15:08
s/pattern1/pattern2/flag
может быть записано и так:
s,pattern1,pattern2,flag
s_pattern1_pattern2_flag
s!pattern1!pattern2!flag
смысл теперь ясен? большинство символов можно использовать вместо (традиционно используемого) „/“. например, для того, чтобы (как в приведенном примере) избежать загромождения конструкциями „\/“
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Славик
Сообщения: 159
ОС: AltLinux2.4 master

Re: Решено: Потоковый редактор sed

Сообщение Славик »

sash-kan писал(а):
21.07.2007 15:47
может быть записано и так:
s,pattern1,pattern2,flag
s_pattern1_pattern2_flag
s!pattern1!pattern2!flag
смысл теперь ясен? большинство символов можно использовать вместо (традиционно используемого) „/“. например, для того, чтобы (как в приведенном примере) избежать загромождения конструкциями „\/“


Самое смешное, что я об этом читал, и в нескольких документах :blush: . Сбили с толку запятые. Она вроде применяется разделителем в диапазоне адресов. Я еще долго чесал тыкву, че их так много...

Спасибо, sash-kan. Вопрос закрыт.
Познание бесконечности требует бесконечного времени.
А. и Б. Стругацкие
Понедельник начинается в субботу
Спасибо сказали:
Ответить