URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6362
[ Назад ]

Исходное сообщение
"долбанная саляра и оператор sed"

Отправлено sergey_green , 12-Апр-07 18:27 
Помогите плиз с проблемой.
Есть файл, типа:
============
blablabla
blablabla
XXX_110
blablabla
blablabla
XXX_120
blablabla
XXX_130
============

необходимо после каждой строки типа: XXX_110 вставить строку HELLO. Чтоб было:

============
blablabla
blablabla
XXX_110
HELLO
blablabla
blablabla
XXX_120
HELLO
blablabla
XXX_130
HELLO
============
причем сделать это надо на долбанной солярке,
вариат типа:

sed -e 's/xxx_\([0-9]*\)/xxx_\1   \nhello/' FILE

в линуксе работет, а в саляре нет,ибо в sed не работет символ перехода на новую строку \n
Помогите кто сталкивался, или просто шарит.


Содержание

Сообщения в этом обсуждении
"долбанная саляра и оператор sed"
Отправлено phpcoder , 12-Апр-07 18:31 
1) не обзывайте Solaris

>sed -e 's/xxx_\([0-9]*\)/xxx_\1   \nhello/' FILE
>
>в линуксе работет, а в саляре нет,ибо в sed не работет символ
>перехода на новую строку \n
>Помогите кто сталкивался, или просто шарит.

2) используйте новую строку вместо символа новой строки '\n'

P.S.:

sed -e 's/xxx_\([0-9]*\)/xxx_\1
hello/' FILE



"долбанная саляра и оператор sed"
Отправлено madskull , 12-Апр-07 18:35 

>причем сделать это надо на долбанной солярке,
>вариат типа:
>
>sed -e 's/xxx_\([0-9]*\)/xxx_\1   \nhello/' FILE
>
>в линуксе работет, а в саляре нет,ибо в sed не работет символ
>перехода на новую строку \n
а tr в соляре есть?

sed -e 's/xxx_\([0-9]*\)/xxx_\1   \nhello/' FILE | tr '#' '\n'

вместо # вставить неиспользуемый в тексте символ

или использовать перл


"долбанная саляра и оператор sed"
Отправлено sergey_green , 13-Апр-07 14:30 
Писать с новой строки не получается, ошибка вылетает.

А вариант:

sed -e 's/xxx_\([0-9]*\)/xxx_\1 Ф hello/' FILE | tr 'Ф' '\n'

действительно работает!
спасибо большое!