Перейти к содержимому
Калькуляторы

Получить секцию, начинающуюся с определенной строки и заканчивающуюся пустой строкой

Есть примерно такой файл:

## Primary interface (localnet, internet, hotspot)

# localnet
auto eth1.20
iface eth1.20 inet static
address 1.2.3.4
netmask 255.255.255.0
up   route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.2.3.250
down route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.2.3.250

# internet
auto eth1.100
iface eth1.100 inet static
address 5.6.7.8
netmask 255.255.255.128
up   route add default gw 5.6.7.9
down route del default gw 5.6.7.9

# private
auto eth1.900
iface eth1.900 inet static
address 11.12.13.14
netmask 255.255.0.0

# linknet
auto eth1.390
iface eth1.390 inet static
address 21.22.23.24
netmask 255.255.255.0

 

Мне нужно получить из нее эту секцию:

# private
auto eth1.900
iface eth1.900 inet static
address 11.12.13.14
netmask 255.255.0.0

то есть блок строк, начинающийся с "# private" и оканчивающийся пустой строкой или концом файла.

Думаю что для этого нужно использовать sed, но с этим инструментом знаком слабо.

Не подскажите, как получить нужное?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

man awk

man sed

man grep

 

На опеннете есть раздел программирования, там бывают специалисты.

 

Пример:

grep "# private" -A 4 file
или 
grep "# private" -A 5 file | grep -V ^$ 

Изменено пользователем vlad11

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sed -n '/# private/,/^$/p' /etc/network/interfaces

Изменено пользователем bos9

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.