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

Исходное сообщение
"вопрос по sed"

Отправлено Артем , 14-Июн-11 13:55 
Подскажите, пожалуйста..
есть команда вывода текста исключая часть между двумя регулярными выражениями( включительно)
sed '/Iowa/,/Montana/d'

как сделать так, чтобы строки содержащие заданные регулярные выражения не удалялись, а удалялось только то, что между ними

Заранее благодарю


Содержание

Сообщения в этом обсуждении
"вопрос по sed"
Отправлено xguru , 14-Июн-11 14:51 
> Подскажите, пожалуйста..
> есть команда вывода текста исключая часть между двумя регулярными выражениями( включительно)
> sed '/Iowa/,/Montana/d'
> как сделать так, чтобы строки содержащие заданные регулярные выражения не удалялись, а
> удалялось только то, что между ними
> Заранее благодарю

$ cat file
1
2
3
Iowa
4
5
6
7
Montana
8
9
10

$ sed '1,/Iowa/!{ /Montana/,/Iowa/!d; }' file
1
2
3
Iowa
Montana
8
9
10

Но по-моему, awk или perl здесь было бы проще использовать.