0

これは cisco コマンドの出力ですSWEs-elmPCI-A-01#show cdp neighbors

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
                  D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
SWEx-elmPCI-A-02.lssh.com
                 Gig 2/0/1         137             R S I  WS-C3750X Gig 1/0/1
SWEx-elmPCI-A-02.lssh.com
                 Gig 2/0/1         138             R S I  WS-C3750X Gig 1/0/1

SWEa-elmPCI-02   Gig 1/0/4         169               T    AIR-LAP12 Gig 0
SWEa-elmPCI-01   Gig 1/0/9         170               T    AIR-LAP11 Gig 0

SWEx-elmPCI-A-02.lssh.com行とその詳細のみを含む行のみを取得する方法Gig 2/0/1 137 R S I WS-C3750X Gig 1/0/1

注: Gig 2/0/1 137 R S I WS-C3750X Gig 1/0/1 and Gig 2/0/1 138 R S I WS-C3750X Gig 1/0/1and S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, and の前にスペースがありますD - Remote, C - CVTA, M - Two-port Mac Relay

私はexpectまたはciso regexを使用できます.ciscoでいくつかのタスクを実行するためにexpectスクリプトを使用しているので、そこでもいくつかのコマンドを使用できます(include、excludeなど)または私のexpectコードで.iはSWExとその対応を検索するだけですGig 1/0/4 のようなエントリを作成して、Gig と 1/0/4 を変数に入れて、各 SWEx.. 行に使用できるようにします。

4

1 に答える 1

1

次のようなものが機能するはずです。

/^(SWEx-elmPCI-A-02\.lssh\.com)\s+(.*?)\s{2,}(\d+)\s+(.*?)\s{2,}([^\s]+)\s+(.*?)$/gsm

6つのグループを作成します。

  1. デバイスID
  2. ローカルインターフェース
  3. ホールドタイム
  4. 容量
  5. プラットホーム
  6. ポートID

デモ


一致する

マッチ1

  1. SWEx-elmPCI-A-02.lssh.com
  2. Gig 2/0/1
  3. 137
  4. R S I
  5. WS-C3750X
  6. Gig 1/0/1

マッチ2

  1. SWEx-elmPCI-A-02.lssh.com
  2. Gig 2/0/1
  3. 138
  4. R S I
  5. WS-C3750X
  6. Gig 1/0/1
于 2013-03-08T14:22:13.473 に答える