The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как заменить две строки на одну (perl, sed и т.п)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Как заменить две строки на одну (perl, sed и т.п)"  +/
Сообщение от shados (??) on 11-Фев-11, 02:35 
Приветствую, великий all!
Есть кусок конфига (в общем случае текстового файла)

interface FastEthernet0/11
description BB1 E0/0
switchport access vlan 100
switchport mode dynamic desirable
!
interface FastEthernet0/12
switchport mode dynamic desirable
!

Нужно убрать строку "switchport mode dynamic desirable" только в том случае, если перед ней есть строка "switchport access vlan". В редакторе VIM это делается просто:
:%s/\( switchport access vlan 100\)\n switchport mode dynamic desirable/\1/

Вопрос - как сделать то же самое как можно проще в одну строку с помощью sed или хотя бы perl?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как заменить две строки на одну (perl, sed и т.п)"  +/
Сообщение от temny email(ok) on 11-Фев-11, 12:40 
$ sed '/switchport access vlan/{N;s!\nswitchport mode dynamic desirable!!;}' file
interface FastEthernet0/11
description BB1 E0/0
switchport access vlan 100
!
interface FastEthernet0/12
switchport mode dynamic desirable
!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как заменить две строки на одну (perl, sed и т.п)"  +/
Сообщение от shados (??) on 11-Фев-11, 18:28 
>
$ sed '/switchport access vlan/{N;s!\nswitchport mode dynamic desirable!!;}' file 
> interface FastEthernet0/11
> description BB1 E0/0
> switchport access vlan 100
> !
> interface FastEthernet0/12
> switchport mode dynamic desirable
> !
>

Спасибо!

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру