Поиск по этому блогу

17.01.2011

Регулярные выражения в командной строке

Часто применяю такие конструкции, например:
hostname# sh run | beg router ospf
hostname# sh ip route | in 10.0.0
Иногда невозможно быстро найти некоторые части конфигурации, так как имеется неизвестное количество пробелов в строке, либо поиск по строке целиком слишком неудобен. Выходом является применение регулярных выражений:
cme#sh run | beg dn(.*)27
ephone-dn 27 dual-line
number 2027
description A.V. Ivanov
name A.V. Ivanov
huntstop channel
...
cme#sh run | beg dial(.*)9
dial-peer voice 9 pots
destination-pattern 9T
progress_ind alert enable 8
direct-inward-dial
port 1/0:15
forward-digits all
...
Можно обрабатывать вывод различных маршрутов:
router#sh ip bgp | in (.*)( +)(.*)( +)0( +)100
*>i10.10.11.0/24 10.11.11.1 0 100 0 i
Чтобы исключить строку ip router isis и перейти сразу к отображению процесса, можно сделать так:
router#sh run | beg ^router isis
router isis
net 49.0000.0024.0000.0001.7206.00
is-type level-2-only
metric-style wide
log-adjacency-changes
...