Python中如何正确解析终端(stdout)的特定输出内容?
Fortigate设备终端输出解析
首先是第一个程序输出的原始终端内容:
620_ha_1 # Version: Fortigate-620B v4.0,build0271,100330 (MR2) Virus-DB: 11.00643(2010-03-31 17: Extended DB: 11.00643(2010-03-31 17: Extreme DB: 0.00000(2003-01-01 00: IPS-DB: 2.00778(2010-03-31 12: FortiClient application signature package: 1.167(2010-04-01 10: Serial-Number: FG600B39086...
接下来是解析后的结构化输出,方便你按需提取使用:
- 设备标识:620_ha_1
- 设备版本:Fortigate-620B v4.0,build0271,100330 (MR2)
- 病毒库版本:11.00643,更新时间:2010-03-31 17:xx(原始输出时间未完整显示)
- 扩展数据库版本:11.00643,更新时间:2010-03-31 17:xx
- 极端防护数据库版本:0.00000,更新时间:2003-01-01 00:xx
- IPS数据库版本:2.00778,更新时间:2010-03-31 12:xx
- FortiClient应用签名包版本:1.167,更新时间:2010-04-01 10:xx
- 设备序列号:FG600B39086...(原始输出未完整显示)
如果你的解析程序需要更精准的字段提取,可以基于这些结构化的字段写正则匹配规则,比如用Version: (.*)捕获版本信息,用Virus-DB: (\d+\.\d+)\((.*?):捕获病毒库版本和更新时间,就能轻松把零散文本转换成结构化数据啦。
内容的提问来源于stack exchange,提问作者Wulfa
相关产品推荐
相关产品推荐

