LINUX.ORG.RU

[sed, \s]В регексп замены добавить пробел


0

0

Есть выражение: sed s/one\sstring\swith\sspaces/string\sspaces/

По идее, в выходной поток между словами 'string' и 'spaces' оно должно добавлять пробел. Но этого не происходит, слеш съедается, и остаётся 'stringsspaces'. Причём, если поставить '\n', а не '\s' -- перевод строки происходит. ЧЯДНТ?

поставить 2 слэша ?

anonymous
()

Напишите "\ "

\s -- это пробельный символ (\n, пробел, табуляция) в шаблоне поиска, и только.

lodin ★★★★
()
Ответ на: комментарий от lodin

> весь regex упихать в '', вообще-то.

Ага, уже сообразил. :-) Тогда вопрос нумбер два: как ему конкатенацию двух подвыражений объяснить, что-то вроде 's/\(one\)|\(two\)/result/' ?

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от lodin

А, да. Мне нужно именно 'или', значит, я забыл, как оно по научному называется...

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от one_more_hokum

Всё, разобрался, надо было объединение целиком в круглые скобки затолкать. Всем спасибо!

one_more_hokum ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.