LINUX.ORG.RU

Sed


0

0

Как в начало всех строк, начинающихся с «Поехали», добавить строку <H2> и в конец этой строки добавить строчку </H2> с помощью sed?


.-(~)---------------------------------------------------------(gotf@persephone)-
`--> cat test 
Поехали гы гыгы гыгыгы
Не поехали быгыгы
Поехали
Поехали ыыы?
Не Поехали же ну
.-(~)---------------------------------------------------------(gotf@persephone)-
`--> cat test | grep "^Поехали" | sed -e 's/^/\<H2\>/g' -e 's/$/\<\/H2\>/g'
<H2>Поехали гы гыгы гыгыгы</H2>
<H2>Поехали</H2>
<H2>Поехали ыыы?</H2>
GotF ★★★★★
()

$ cat testik
Поехали в Питер
Понаехали

$ sed -e 's/^\(Поехали.*\)$/<H2>\1<H2>'/ testik
<H2>Поехали в Питер<H2>
Понаехали

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

если поставить прямой слеш перед H2, то ошибка возникает. хотел вот так:
$ sed -e 's/^\(Поехали.*\)$/<H2>\1</H2>'/ testik

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

Все, сам решил. Спасибо за ответ=)

igla
() автор топика

ИМХО у awk менее мозголомное решение в данном случае:

$ cat test | awk '{if ($1 == «Поехали») print «<H2>» $0 «</H2>»; else print $0; }'

<H2>Поехали гы гыгы гыгыгы</H2>
Не поехали быгыгы
<H2>Поехали</H2>
<H2>Поехали ыыы?</H2>
Не Поехали же ну

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