使用 Python 获取匹配模式和下一个匹配模式之间的内容



我正在尝试编写一个python脚本,以将文本格式的思科防火墙配置文件导出到excel,以便于查询和过滤。 我能够将 acls 和每个字段写入 excel 工作表选项卡。 但是对于网络对象,我遇到了一点麻烦。

这是我的一个示例内容:

object-group network external_mail_client
 network-object x.x.x.x x.x.x.x
 network-object y.y.y.y y.y.y.y
 network-object z.z.z.z z.z.z.z
object-group network domain_controllers
 network-object host a.a.a.a
 network-object host b.b.b.b

这里我有两个对象组,每个对象组都有几个主机。我正在尝试将每个对象组及其成员逐列写入相同的 excel 行中。最后应该是这样的:

object-group network external_mail_client x.x.x.x x.x.x.x y.y.y.y y.y.y.y z.z.z.z z.z.z.z 
object-group network domain_controllers a.a.a.a b.b.b.b

我的问题是如何在不丢失或错误添加其他对象组成员的情况下找到对象组下的所有成员。我猜我应该添加某种行数和数字检查等,但找不到更好的解决方案。

请帮忙。谢谢。

您可以执行脚本:

show run | i object-group network
(output)
object-group network external_mail_client
object-group network domain_controllers

然后循环遍历这些内容:

show run object-group id external_mail_client
show run object-group id domain_controllers

这将仅返回该特定对象组的成员。

最新更新