首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有办法用TextFSM记录单个键的多个值吗?

有办法用TextFSM记录单个键的多个值吗?
EN

Stack Overflow用户
提问于 2021-10-28 11:18:01
回答 2查看 352关注 0票数 0

我是TextFSM新手,我正在尝试使用TextFSM解析BigIP F5配置。最后的结果仅从与虚拟服务器关联的多个配置文件中捕获一个配置文件。我在试着把他们都抓起来。

我已经尝试了很多TextFSM命令组合,但可能我只是不明白它是如何正确工作的。

输入

代码语言:javascript
复制
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
}

电流结果

代码语言:javascript
复制
{
    "virtual": "Cust_A_Virtual_Server",
    "virtualpart": "Common",
    "vprof": "tcp",
    "vprofpart": "Common"
}

期望结果

代码语言:javascript
复制
{
    "virtual": "Cust_A_Virtual_Server",
    "virtualpart": "Common",
    "vprof": ["Cust_A_SSL","Cust_A_http","tcp"]
    "vprofpart": ["Common","Common","Common"]
}

我在TextFSM模板下面使用了“当前结果”

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2021-10-28 23:33:38

我不熟悉TextFSM,但想知道是否不是从bigip.conf中提取,而是从REST中获取并重新工作输出?

https:///mgmt/tm/ltm/virtual/

获取https:///mgmt/tm/ltm/virtual/<名称__虚拟>/概要文件

票数 0
EN

Stack Overflow用户

发布于 2022-01-17 18:00:10

这里有两件事可以帮助:列表选项状态转换。模板:

代码语言:javascript
复制
Value virtual (\S+)
Value virtualpart (\S+)
Value List vprof (\S+)
Value List vprofpart (\S+)

Start
  ^ltm\svirtual\s/${virtualpart}/${virtual}
  ^\s+profiles -> Profiles

Profiles
  ^\s+/${vprofpart}/${vprof}\s{
  ^\s+rules -> Record Start

结果:

代码语言:javascript
复制
 {'virtual': 'Cust_A_Virtual_Server',
  'virtualpart': 'Common',
  'vprof': ['Cust_A_SSL', 'Cust_A_http', 'tcp'],
  'vprofpart': ['Common', 'Common', 'Common']}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69753144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档