用于审核思科配置的Bash脚本

时间:2014-11-13 04:34:28

标签: bash grep cisco audit cisco-ios

我目前正在编写一个脚本,以便从审计目的生成cisco配置报告。使用'grep'命令,我能够成功捕获全局配置。

但挑战是按界面进行。例如,我想知道哪些接口有这些行'no ip redirects','no ip unreachables'等。我怎样才能在bash中完成这个?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

使用grep无法轻松完成此操作,但awk处理此问题:

cat file
!
interface GigabitEthernet0/13
 description Server_32_main
 spanning-tree portfast
 no ip redirects
!
interface GigabitEthernet0/14
 description Server_32_log
 switchport access vlan 666
 spanning-tree portfast
!
interface GigabitEthernet0/15
 description UPS_20
 spanning-tree portfast
!

如您所见,每个组都以!分隔,因此我们使用它来分隔每条记录 只获取接口名称是这样的:

awk -v RS="!" -F"\n" '/no ip redirects/ {print $2}' file
interface GigabitEthernet0/13

要获取接口配置,请执行以下操作:

awk -v RS="!" '/no ip redirects/' file

interface GigabitEthernet0/13
 description Server_32_main
 spanning-tree portfast
 no ip redirects

一次性获得更多模式:

awk -v RS="!" '/no ip redirects/ || /no ip unreachables/' file