0
0 комментариев

Мне надо выбрать из текстового файла блоки, начинающиеся со строки interface, и закнчивающиеся строкой !:

$ cat b2-s15.config.txt | awk ' /^interface/,/^\!/ {print} '

Вывод получается вот такой:

interface GigabitEthernet0/x.1xxxx68
 description xxxxxx
 encapsulation dot1Q xxxx second-dot1q 968
 ip address xx 255.255.255.252
!
interface GigabitEthernet0/x.1xxxx69
 description xxxxxx
 encapsulation dot1Q xxxx second-dot1q 969
 ip address xx 255.255.255.252
!
interface GigabitEthernet0/x.1xxxx102
 description xxxx
 encapsulation dot1Q xxxx second-dot1q 102
 ip address xxxxxx 255.255.255.252
 ip access-group block_localnet in
 no cdp enable
 service-policy type control INTERFACE_SUBSCRIBERS
 ip subscriber interface
!
interface GigabitEthernet0/x.1xxxx103
 description xxxxx
 encapsulation dot1Q xxxx second-dot1q 103
 ip address xxxxx 255.255.255.252
 ip access-group block_localnet in
 rate-limit input 256000 50000 50000 conform-action transmit exceed-action drop
 rate-limit output 256000 50000 50000 conform-action transmit exceed-action drop
 no cdp enable
!

Теперь задачу усложнили, нужно вывести блоки, в которых отсутствует строка

service-policy type control INTERFACE_SUBSCRIBERS

Как это реализовать?

Мне не принципиально решить эту задачу именно на awk или bash, хотя и желательно.

Изменен статус публикации
Добавить комментарий