Simple extensions to exec-mode CLI
The various show filters available in Cisco IOS are a great tool to minimize the amount of printout you have to analyze, their only problem (from my perspective) is that you cannot make an alias out of them, as you usually have to supply one or more parameters to the show command and these parameters have to be inserted before the filter (and the alias command does not support replaceable parameters). You could solve the problem with Tcl shell, but I'm not sure many networking engineers are fluent Tcl programmers. Fortunately, the code you need is so simple anyone can create a working solution.
Follow these simple steps:
- Execute the show command you're interested in and fine-tune the filter. For example, I wanted to have a short display of IP interfaces produced with the show ip interface fa0/0 ¦ include address¦protocol command.
- Store the following line of Tcl code in a flash file: puts [exec "your-command"], replacing the arguments in your command with $argv (you can use this trick if you don't have an external file server handy). In my case, the flash:ipconfig.tcl file contained the following code:
- Define a command alias: alias exec new-command tclsh file-in-flash, for example, alias exec ipconfig flash:ipconfig.tcl.
puts [exec "show ip interface $argv ¦ include address¦protocol"]
X1#ipconfig fa0/0
FastEthernet0/0 is up, line protocol is up
Internet address is 172.16.0.1/24
Broadcast address is 255.255.255.255
Helper address is not set
Network address translation is disabled
Replace the broken vertical bar in sample printouts with a vertical bar before using them.