/section

Mimics the behavior of Cisco IOS's "show ... | section ..." command

Primary LanguagePython

section

Mimics the behavior of Cisco IOS's | section ... command. Just like IOS, it supports parsing through a file and viewing sections of matched data. Like IOS, it supports _ as a blank, end-of-line, etc., (see here) for things like interfaces (for example, Gi1/1/1_ would not show Gi1/1/10, Gi1/1/11, etc). Requires Python 3.6 or higher.

Cisco IOS Example: show run brief | sec ^crypto (ipsec|isakmp)

Read a file and interpret it the same as: show command output | section

Examples:

  • python3 section.py "^interface Vlan10_" core9500.cfg
  • cat core9500.cfg | python3 section.py "^interface Vlan10_"
Usage: section [options] "pattern to match" [filename]

positional arguments:
  pattern-to-match      pattern to match; quotes are required if pattern contains spaces; supports regex
  filename              file to read from; if not specified, read from STDIN

optional arguments:
  -h, --help            show this help message and exit
  -i, --ignore-case     ignore case distinctions
  -m NUM, --max-count NUM
                        stop after NUM matches
  -n, --line-number     print line number with output lines
  -b, --add-blank       add a blank line between matched sections for readability
  -v, --verbose         show pattern that will be matched