Filtering the output from a display command
You can use the | { begin | exclude | include } regular-expression option to filter the display command output.
begin—Displays the first line matching the specified regular expression and all subsequent lines.
exclude—Displays all lines not matching the specified regular expression.
include—Displays all lines matching the specified regular expression.
regular-expression—A case-sensitive string of 1 to 256 characters, which can contain the special characters described in Table 5.
The required filtering time increases with the complexity of the regular expression. To abort the filtering process, press Ctrl+C.
Table 5: Special characters supported in a regular expression
Characters | Meaning | Examples |
---|---|---|
^ | Matches the beginning of a line. | "^u" matches all lines beginning with "u". A line beginning with "Au" is not matched. |
$ | Matches the end of a line. | "u$" matches all lines ending with "u". A line ending with "uA" is not matched. |
. (period) | Matches any single character. | ".s" matches "as" and "bs". |
* | Matches the preceding character or string zero, one, or multiple times. | "zo*" matches "z" and "zoo", and "(zo)*" matches "zo" and "zozo". |
+ | Matches the preceding character or string one or multiple times. | "zo+" matches "zo" and "zoo", but not "z". |
| | Matches the preceding or succeeding string. | "def|int" matches a line containing "def" or "int". |
( ) | Matches the string in the parentheses, usually used together with the plus sign (+) or asterisk sign (*). | "(123A)" matches "123A". "408(12)+" matches "40812" and "408121212", but not "408". |
\N | Matches the preceding strings in parentheses, with the Nth string repeated once. | "(string)\1" matches a string containing "stringstring". "(string1)(string2)\2" matches a string containing "string1string2string2". "(string1)(string2)\1\2" matches a string containing " string1string2string1string2". |
[ ] | Matches a single character in the brackets. | "[16A]" matches a string containing 1, 6, or A; "[1-36A]" matches a string containing 1, 2, 3, 6, or A (- is a hyphen). To match the character "]", put it immediately after "[", for example, []abc]. There is no such limit on "[". |
[^] | Matches a single character that is not in the brackets. | "[^16A]" matches a string that contains one or more characters except for 1, 6, or A, such as "abc". A match can also contain 1, 6, or A (such as "m16"), but it cannot contain these three characters only (such as 1, 16, or 16A). |
{n} | Matches the preceding character n times. The number n must be a nonnegative integer. | "o{2}" matches "food", but not "Bob". |
{n,} | Matches the preceding character n times or more. The number n must be a nonnegative integer. | "o{2,}" matches "foooood", but not "Bob". |
{n,m} | Matches the preceding character n to m times or more. The numbers n and m must be nonnegative integers and n cannot be greater than m. | " o{1,3}" matches "fod", "food", and "foooood", but not "fd". |
\< | Matches a string that starts with the pattern following \<. A string that contains the pattern is also a match if the characters preceding the pattern are not digits, letters, or underscores. | "\<do" matches "domain" and "doa". |
\> | Matches a string that ends with the pattern preceding \>. A string that contains the pattern is also a match if the characters following the pattern are not digits, letters, or underscores. | "do\>" matches "undo" and "cdo". |
\b | Matches a word that starts with the pattern following \b or ends with the pattern preceding \b. | "er\b" matches "never", but not "verb" or "erase". "\ber" matches "erase", but not "verb" or "never". |
\B | Matches a word that contains the pattern but does not start or end with the pattern. | "er\B" matches "verb", but not "never" or "erase". |
\w | Same as [A-Za-z0-9_], matches a digit, letter, or underscore. | "v\w" matches "vlan" and "service". |
\W | Same as [^A-Za-z0-9_], matches a character that is not a digit, letter, or underscore. | "\Wa" matches "-a", but not "2a" or "ba". |
\ | Escape character. If a special character listed in this table follows \, the specific meaning of the character is removed. | "\\" matches a string containing "\", "\^" matches a string containing "^", and "\\b" matches a string containing "\b". |
For example:
# Use | begin line for the display current-configuration command to match the first line of output that contains line to the last line of output.
<Sysname> display current-configuration | begin line line class aux user-role network-admin # line class vty user-role network-operator # line aux 0 user-role network-admin # line vty 0 63 authentication-mode scheme user-role network-operator # ssh server enable # return
# Use | exclude Direct for the display ip routing-table command to filter out direct routes and display only the non-direct routes.
<Sysname> display ip routing-table | exclude Direct Destinations : 12 Routes : 12 Destination/Mask Proto Pre Cost NextHop Interface 2.2.2.0/24 OSPF 10 2 1.1.2.2 Vlan 2
# Use | include snmp for the display current-configuration command to filter in entries that contain snmp.
<Sysname> display current-configuration | include snmp snmp-agent snmp-agent community write private snmp-agent community read public snmp-agent sys-info version all snmp-agent target-host trap address udp-domain 192.168.1.26 params securityname public