方法-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を使用して正しい出力を得ました。


これは機能します。そのため、ショーXの代わりにegrepが使用されました。株式会社?そして、コードは "interface" anything "Vlan" OR "ip" anything "address"を探しますか?(引用符なし)
疑似サイバー2013年

私はそう信じています。:あなたはここで7Kにegrepのための資料を入手することができcisco.com/en/US/docs/switches/datacenter/sw/6_x/nx-os/...
Odeonevets

5

VLANインターフェースのIPアドレスを探しているだけの場合、より良い方法は次のとおりです。 show ip int br | grep -i vlan

注:show ip int brNXOSでは、レイヤー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 regexのリンク:http : //www.cisco.com/en/US/docs/switches/datacenter/sw/4_0/nx-os/fundamentals/configuration/guide2/fun_3about_cli.html#wp1237003


また、サブネット情報についても知りたいので、「show run」からそれを引き出しようとしました。
疑似サイバー

そうですか。次に、サイズを試してみてください。これshow run | grep -i face\ vlan|ip\ address により、「face vlan」または「ip address」のいずれかを含む出力のすべての行が表示されます
emynd

リチャード、ありがとう、しかしgrep -iの後にfの下でニンジンを取得します
疑似サイバー2013年

深く見るべきだったのに、すみません。その構文は、NXOS 4.0(2)以前で機能するはずです。アップ4.0(3)と置き換えるために-iignore_case、ここのリンクですcisco.com/en/US/docs/switches/datacenter/sw/4_0/nx-os/...
emynd

リチャードS、それで私は以前iOSで| 株式会社、私は今|でNXOSで行う必要があります grep ignore-case何とか何とか何とか何とか。そして、引用符なしでこの "\"のようにスペースをエスケープする必要がありますか?そして、私はまだ論理的なorとして使うために複数の|を使うことができますか?
疑似サイバー2013年

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 run | inc interface_Vlan | ip_address 7K#sh run | inc interface_Vlan | ip_address-pの下にニンジンを置きます。出力がまったくありません。
疑似サイバー2013年

試用できるNexusはありませんが、(interface.Vlan | ip.address)を試してみてください。pの下の^は、 "| i"を2番目のパイプとして解釈しているように聞こえます。
Dave Noonan 2013年

@Pseudocyber:* caret :-)
Paul Gear

ドキュメントごとに、IOSとは異なり、「アンダースコアはBPG関連コマンドの正規表現としてのみ扱われます」
belacqua

0

簡単な答えは、IOSからNX-OSへの1対1マッピングの場合、次のようになるということです。

IOSshow run | inc (interface Vlan)|(ip address)
NX-OSshow 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-shellと同等です egrep -i vpc <input> | egrep -vi peer

それでも、現在のIOSよりもはるかに強力で柔軟性があります。

基本的なシスコのドキュメントがここにあります *が、コマンドライン?機能によりすばやく通知されます。

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

次に、 "fun"(他に何が必要ですか?)を検索して、基本構成ガイドコマンドラインインターフェイスについての章の正規表現」セクションが含まれています)を見つけます。

イースターエッグ?このドキュメントの章番号は2進数です。

あなたがドキュメントを歩く場合は、より多くの* nixのようなコマンドラインを含む、ツール、見つけることができますcuttrと7K上、sedおよびいくつかの他のグッズを。

また、'include'一致のprevand next修飾子を見落とさないでください。

これは、fooを含む行と、前後3行、前後2行を取得します。
show run | inc foo prev 3 next 2

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.