我是 TextFSM 的新手,我正在尝试使用 TextFSM 解析 BigIP F5 配置。最终结果仅捕获与虚拟服务器关联的多个配置文件中的一个配置文件。我正试图让他们全部被捕。
我已经尝试了很多 TextFSM 命令组合,但也许我只是无法理解它是如何正常工作的。
输入
ltm virtual /Common/Cust_A_Virtual_Server {
destination /Common/10.10.10.10:443
ip-protocol tcp
mask 255.255.255.255
pool /Common/Cust_A_pool
profiles {
/Common/Cust_A_SSL {
context clientside
}
/Common/Cust_A_http { }
/Common/tcp { }
}
rules {
/Common/Cust_A_iRule
}
source 0.0.0.0/0
translate-address enabled
translate-port enabled
vlans {
/Common/Cust_A_v1100
}
vlans-enabled
}
当前结果
{
"virtual": "Cust_A_Virtual_Server",
"virtualpart": "Common",
"vprof": "tcp",
"vprofpart": "Common"
}
期望的结果
{
"virtual": "Cust_A_Virtual_Server",
"virtualpart": "Common",
"vprof": ["Cust_A_SSL","Cust_A_http","tcp"]
"vprofpart": ["Common","Common","Common"]
}
我使用下面的 TextFSM 模板来获得高于“当前结果”
Value Filldown virtual (\S+)
Value Filldown virtualpart (\S+)
Value Required vprof ([a-zA-Z\/\-0-9.]+(?!:))
Value vprofpart (\S+)
Start
^ltm\svirtual\s\/${virtualpart}\/${virtual} -> Continue
^\s+profiles\s[{]\n+ -> Continue.Record
^\s+\/${vprofpart}\/${vprof}\s[{] -> Continue.Record