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

Исходное сообщение
"Помогите с sed"

Отправлено SAY , 13-Авг-10 11:59 
Добрый день!

Есть текстовый файл text.txt с содержымым:


server www.ru
mmmm
server 192
server 127

Как заставить sed удалить строки которые начинаются с server, и не содержат 127.
На выходе должно получиться:


mmmm
server 127

Мучаюсь второй день не могу найти отрицание.


Содержание

Сообщения в этом обсуждении
"Помогите с sed"
Отправлено Andrey Mitrofanov , 13-Авг-10 12:10 
$ cat txt
server www.ru
mmmm
server 192
server 127
$ sed -n '/^server /{/127/p;n};p' <txt
mmmm
server 127
$ awk '!/^server /||/127/' <txt
mmmm
server 127
$ _

"Помогите с sed"
Отправлено Andrey Mitrofanov , 13-Авг-10 12:15 
>$ sed -n '/^server /{/127/p;n};p' <txt

+$ sed '/^server /{/127/p;d}' <txt
>$ awk '!/^server /||/127/' <txt


"Помогите с sed"
Отправлено SAY , 13-Авг-10 12:38 
Спасибо огромное!
Это работает:
# sed '/^server /{/127/p;d}' <txt



"Помогите с sed"
Отправлено SAY , 16-Авг-10 11:34 
Еще раз доброго!

Опять застрял с sed
Есть текстовый файл text.txt с содержымым:

 
bla bla bla1
start a
{
mmmm
server 192
bla bla bla
server 127
}
end a
bla bla bla2

Как заставить sed удалить многострочный кусок начиная с "start a" и заканчивая "end a"
На выходе должно получиться:

 
bla bla bla1
bla bla bla2



"Помогите с sed"
Отправлено Andrey Mitrofanov , 16-Авг-10 12:26 
$ cat txt2
bla bla bla1
start a
{
mmmm
server 192
bla bla bla
server 127
}
end a
bla bla bla2
$ sed '/start a/,/end a/d' <txt2
bla bla bla1
bla bla bla2
$ _

В кассу -- оплачивайте.