Cách - sử dụng regex trong Nexus để tìm kiếm cái này | hay đó


9

Quá nặng nề - tôi không thể tìm thấy tài liệu tốt về cách sử dụng lệnh regex của Nexus.

Vì vậy, nếu giao diện của tôi trông như thế này:

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 

Tôi muốn chạy một cái gì đó tương tự như:

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

Và đầu ra trông tương tự (nếu đây là trên 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.

Câu trả lời:


8

Bạn có thể làm một show run | egrep interface.Vlan|ip.address. Nó lấy thêm một chút thông tin, nhưng sẽ cung cấp đầu ra tương tự như những gì bạn thấy trong IOS. Tôi nghĩ grep có thể hoạt động tốt, nhưng tôi đã sử dụng egrep và có đầu ra chính xác.


Những công việc này. Vì vậy, egrep đã diễn ra chương trình X | bao gồm? Và mã tìm "giao diện" bất cứ thứ gì "Vlan" HOẶC "ip" bất cứ thứ gì "địa chỉ"? (không có dấu ngoặc kép)
Pseudocyber

Tôi cũng tin là vậy. Bạn có thể truy cập vào tài liệu cho egrep trên 7k đây: cisco.com/en/US/docs/switches/datacenter/sw/6_x/nx-os/...
Odeonevets

5

Nếu bạn chỉ tìm kiếm địa chỉ IP của giao diện Vlan, cách tốt hơn có thể là: show ip int br | grep -i vlan

Lưu ý: show ip int brtrong NXOS chỉ hiển thị giao diện lớp 3. Để xem trạng thái của tất cả các giao diện sử dụngshow int br

CẬP NHẬT:

cho NXOS 4.0 (2) trở về trước: show run | grep -i face\ vlan|ip\ address

4.0 (3) trở lên: show run | grep ignore-case face\ vlan|ip\ address

cũng \là cách thoát khỏi không gian với regex. Liên kết cho regex NXOS: http://www.cisco.com/en/US/docs/switches/datacenter/sw/4_0/nx-os/fundamentals/configuration/guide2/fun_3about_cli.html#wp1237003


Tôi cũng muốn có thông tin về thông tin mạng con, vì vậy đó là lý do tại sao tôi cố gắng kéo nó ra khỏi "chương trình chạy".
Pseudocyber

Tôi hiểu rồi. Sau đó thử kích thước show run | grep -i face\ vlan|ip\ address này : kích thước này cũng sẽ hiển thị tất cả các dòng trong đầu ra có chứa "face vlan" hoặc "ip address"
emynd

Richard, cảm ơn, nhưng hãy lấy một củ cà rốt dưới f sau grep -i
Pseudocyber

Tôi nên nhìn sâu hơn, lời xin lỗi của tôi. Cú pháp đó sẽ hoạt động trên NXOS 4.0 (2) trở về trước. Dành cho 4.0 (3) trở lên thay thế -ibằng ignore_caseđây là liên kết cisco.com/en/US/docs/switches/datacenter/sw/4_0/nx-os/
phỏng

Richard S, vì vậy nó có vẻ giống như những gì tôi từng có thể làm trong ios với một | inc, bây giờ tôi cần phải làm trong NXOS với một | grep bỏ qua trường hợp blah blah blah. Và không gian cần phải được thoát, như "\" này mà không có dấu ngoặc kép? và tôi vẫn có thể sử dụng nhiều | để sử dụng như logic hay của?
Pseudocyber

5

Một cú pháp thay thế liên quan đến dấu ngoặc đơn.

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

Trong NX-OS, phân tích cú pháp đối số hoạt động rất nhiều như bash.


3

Các tài liệu tôi đã thấy nói rằng điều này sẽ làm việc:

show run | inc interface_Vlan|ip_address

Mặc dù nó dường như không phù hợp với tôi trên công tắc lưỡi 4k. Tôi đã thành công với

sh run | inc interface.Vlan|ip.address

Điều đó không hoạt động trên 7K. 7K # sh chạy | inc interface_Vlan | ip_address 7K # sh chạy | giao diện inc_Vlan | ip_address - đặt một củ cà rốt dưới p. Không có đầu ra nào cả.
Pseudocyber

Tôi không có Nexus để dùng thử nhưng bạn có thể thử (interface.Vlan | ip.address). ^ Dưới p có vẻ như nó diễn giải "| i" là một ống thứ hai.
Dave Noonan

@Pseudocyber: * caret :-)
Paul Gear

Trên mỗi tài liệu và không giống như iOS, "dấu gạch dưới chỉ được coi là biểu thức chính quy cho các lệnh liên quan đến BPG"
belacqua

0

Câu trả lời dễ dàng là, đối với ánh xạ một-một từ IOS sang NX-OS, nó trông như thế này:

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

Lưu ý rằng điều này có ý nghĩa hơn khi bạn bỏ qua các parens phụ trong bản gốc:

show run | inc (interface Vlan|ip address)

Chìa khóa trong ví dụ này là đối với NX-OS, các dấu ngoặc được thay thế bằng dấu ngoặc kép.

Bạn cũng có thể sử dụng dấu ngoặc kép, tức là "" .

NX-OS dựa trên Linux [1] và sử dụng công cụ biểu thức chính quy giống như * nix. Các lệnh là số lẻ bao gồm giữa từ ngữ tiếng Anh và thành ngữ regex tiêu chuẩn.

Ví dụ, những gì sẽ có egrep -vtrong bash sẽ trông như thế nào egrep ignore-case
Trên dòng lệnh này sẽ trông giống như

show run | egrep ignore-case vpc
hoặc là
show run | inc ignore-case vpc

Một ví dụ về tính dài dòng (và sức mạnh) của các tính năng regex mới:
show run | egrep ignore-case vpc | egrep invert-match ignore-case peer

Điều này sẽ tương đương với bash-shell egrep -i vpc <input> | egrep -vi peer

Tuy nhiên, ở đây có nhiều sức mạnh và tính linh hoạt hơn so với iOS hiện tại.

Tài liệu cơ bản của Cisco có ở đây *, nhưng ?tính năng dòng lệnh của bạn cung cấp cho bạn lời nhắc nhanh:

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

Sau đó, bạn sẽ muốn tìm kiếm "niềm vui" (còn gì nữa không?) Để tìm Hướng dẫn cấu hình cơ bản (có chứa phần Biểu thức chính quy trong chương Tìm hiểu giao diện dòng lệnh ).

Trứng Phục Sinh? Số chương là nhị phân cho tài liệu này.

Nếu bạn đi bộ qua các tài liệu, bạn sẽ tìm thấy rất nhiều * nix hơn giống như các công cụ dòng lệnh, bao gồm cut, trvà trên 7K, sedvà một số khác goodies.

Ngoài ra, đừng bỏ qua prevnextsửa đổi cho các trận đấu 'bao gồm'.

Điều này sẽ lấy các dòng chứa foo, cũng như ba dòng trước và hai dòng sau cho bối cảnh:
show run | inc foo prev 3 next 2

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.