Как - использовать регулярные выражения в Nexus для поиска этого | или это?


9

Так отягчает - я не могу найти хорошую документацию о том, как использовать команду Nexus Regex.

Итак, если мои интерфейсы выглядят так:

interface Vlan224
  description MANAGEMENT
  no shutdown
  ip flow monitor netflow-monitor input  
  no ip redirects
  ip address 10.214.224.2/24
  ip ospf passive-interface
  ip router ospf 1 area 0.0.0.3
  ip pim sparse-mode
  hsrp version 2
  hsrp 224 
  preempt 
  priority 120
  ip 10.214.224.1 

Я хочу запустить что-то похожее на:

show run | inc (interface Vlan)|(ip address)

И вывод выглядеть примерно так (если бы это было на IOS):

interface Vlan10
ip address 10.1.10.1 255.255.255.0
interface Vlan 11
ip address 10.1.11.1 255.255.255.0
etc.

Ответы:


8

Вы можете сделать show run | egrep interface.Vlan|ip.address. Он захватывает немного больше информации, но должен обеспечивать вывод, аналогичный тому, что вы видите в IOS. Я думаю, что grep также может работать, но я использовал egrep и получил правильный вывод.


Это работает. Итак, egrep состоялся шоу X | вкл? И код ищет "интерфейс" что-нибудь "Vlan" ИЛИ "IP" что-нибудь "адрес"? (без кавычек)
Псевдокибер

Я так считаю. Вы можете получить доступ к документации для egrep на 7k
Odeonevets

5

Если вы просто ищете IP-адреса интерфейсов Vlan, лучшим способом может быть: show ip int br | grep -i vlan

Примечание: show ip int brв NXOS показаны только интерфейсы уровня 3. Чтобы увидеть статус всех интерфейсов используйтеshow int br

ОБНОВИТЬ:

для NXOS 4.0 (2) и более ранних версий: show run | grep -i face\ vlan|ip\ address

4.0 (3) и выше: show run | grep ignore-case face\ vlan|ip\ address

также, \как выйти из пространства с помощью регулярных выражений. Ссылка для регулярного выражения NXOS: http://www.cisco.com/en/US/docs/switches/datacenter/sw/4_0/nx-os/fundamentals/configuration/guide2/fun_3about_cli.html#wp1237003


Я также хочу получить информацию об информации о подсети, поэтому я пытался вытащить ее из «показа».
Псевдокибер

Понимаю. Затем попробуйте этот размер: show run | grep -i face\ vlan|ip\ address он также покажет все строки в выводе, которые содержат либо "face vlan", либо "ip address"
emynd

Ричард, спасибо, но возьми морковку под буквой f после grep -i
Псевдокибер

следовало бы посмотреть глубже, мои извинения. Этот синтаксис должен работать в NXOS 4.0 (2) и более ранних версиях. Для 4.0 (3) и до замены -iс ignore_caseвот ссылка cisco.com/en/US/docs/switches/datacenter/sw/4_0/nx-os/...
emynd

Ричард С, так что это похоже на то, что я имел обыкновение делать в ios с | inc, теперь мне нужно сделать в NXOS с | grep игнорировать случай бла бла бла. И пробелы нужно экранировать, как это "\" без кавычек? и я все еще могу использовать несколько | для использования в качестве логического или?
Псевдоцибер

5

Альтернативный синтаксис, включающий одинарные кавычки.

# show run | inc 'interface Vlan|ip address'

В NX-OS разбор аргументов очень похож на bash.


3

Документации я видел говорит , что это должно работать:

show run | inc interface_Vlan|ip_address

Хотя это не похоже на меня на 4k блейд-коммутатор. У меня был успех с

sh run | inc interface.Vlan|ip.address

Это не работает на 7K. 7K # sh запустить | inc interface_Vlan | ip_address 7K # sh run | inc interface_Vlan | ip_address - кладет морковку под р. Нет вывода вообще.
Псевдоцибер

У меня нет Nexus, чтобы попробовать его, но вы можете попробовать (interface.Vlan | ip.address). ^ Под p звучит так, как будто он интерпретирует «| i» как вторую трубу.
Дейв Нунан

@Pseudocyber: * caret :-)
Пол Гир

Согласно документации и в отличие от IOS, «подчеркивание рассматривается только как регулярное выражение для команд, связанных с BPG»
belacqua

0

Простой ответ заключается в том, что для сопоставления «один к одному» из IOS в NX-OS это выглядит так:

IOS : show run | inc (interface Vlan)|(ip address)
NX-OS : show run | inc 'interface Vlan|ip address'

Обратите внимание, что это имеет больше смысла, когда вы пропускаете лишние символы в оригинале:

show run | inc (interface Vlan|ip address)

Ключ в этом примере заключается в том, что для NX-OS символы замены заменяются кавычками.

Вы можете также использовать двойные кавычки, то есть "" .

NX-OS основана на Linux [1] и использует * nix-подобный механизм регулярных выражений. Команды нечетные включают между английской формулировкой и стандартными идиомами регулярных выражений.

Например, то, что будет egrep -vв bash, будет выглядеть так: egrep ignore-case
В командной строке это будет выглядеть примерно так:

show run | egrep ignore-case vpc
или
show run | inc ignore-case vpc

Пример многословия (и силы) новых возможностей регулярных выражений:
show run | egrep ignore-case vpc | egrep invert-match ignore-case peer

Это было бы эквивалентно оболочке bash egrep -i vpc <input> | egrep -vi peer

Тем не менее, здесь значительно больше мощности и гибкости, чем в нынешних IOS.

Основная документация Cisco находится здесь *, но ваша ?функция командной строки дает вам быстрые напоминания:

5k# show run | ?
  cut      Print selected parts of lines.
  diff     Show difference between current and previous invocation (creates temp files: remove them
           with 'diff-clean' command and dont use it on commands with big outputs, like 'show 
           tech'!) 
  egrep    Egrep - print lines matching a pattern
  grep     Grep - print lines matching a pattern
  head     Display first lines
  human    Output in human format
  last     Display last lines
  less     Filter for paging
  no-more  Turn-off pagination for command output
  section  Show lines that include the pattern as well as the subsequent lines that are more
           indented than matching line 
  sort     Stream Sorter
  tr       Translate, squeeze, and/or delete characters
  uniq     Discard all but one of successive identical lines
  vsh      The shell that understands cli command
  wc       Count words, lines, characters
  xml      Output in xml format (according to .xsd definitions)
  begin    Begin with the line that matches
  count    Count number of lines
  end      End with the line that matches
  exclude  Exclude lines that match
  include  Include lines that match

5k# show run | inc ?
  WORD         Search for the expression
  ignore-case  Ignore case difference when comparing strings
  line-exp     Print only lines where the match is a whole line

5k# show run | egrep ?
  WORD          Search for the expression
  count         Print a total count of matching lines only
  ignore-case   Ignore case difference when comparing strings
  invert-match  Print only lines that contain no matches for <expr>
  line-exp      Print only lines where the match is a whole line
  line-number   Print each match preceded by its line number
  next          Print <num> lines of context after every matching line
  prev          Print <num> lines of context before every matching line
  word-exp      Print only lines where the match is a complete word

Затем вам нужно будет поискать «весело» (что еще?), Чтобы найти Руководство по настройке Основ (которое содержит раздел «Регулярные выражения» в главе « Понимание интерфейса командной строки» ).

Пасхальное яйцо? Номера глав в бинарном для этого документа.

Если пройти через документы, вы найдете намного больше * NIX-как инструменты командной строки, в том числе cut, trи на 7К, sedи некоторые другие лакомства.

Кроме того , не упускать из вида prevи nextмодификаторов для «включают» матчи.

Это будет захватывать строки, содержащие foo, а также три строки до и две строки после для контекста:
show run | inc foo prev 3 next 2

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.