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

时间:2018-01-13 03:24:41

标签: excel python-2.7 cisco xlwt asa

我正在尝试编写一个python脚本,将文本格式化的cisco防火墙配置文件导出为ex​​cel,以便于查询和过滤。我能够将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

我遇到的麻烦是如何找到对象组下面的所有成员而不会遗漏或错误添加其他对象组成员。 我猜我应该添加一些行数和数字检查等,但无法找到更好的解决方案。

请帮忙。感谢。

1 个答案:

答案 0 :(得分:1)

您可以执行脚本:

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

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