TextFSM 的 10 个典型应用示例

时间:2025-03-15 19:30:57

TextFSM 是由 Google 开发的一个 Python 模块,旨在通过模板解析半结构化文本。虽然最初设计用于处理网络设备的 CLI 输出,但其应用范围广泛。

  1. 解析网络设备的接口状态: 通过解析网络设备的接口状态命令输出,提取接口名称、状态和速率等信息。
    示例模板:
Value Interface (\S+)
Value Status (\S+)
Value Speed (\d+)

Start
  ^${Interface}\s+${Status}\s+${Speed} -> Record
  1. 提取日志文件中的错误信息: 从系统日志中提取错误级别的日志条目,包括日期、时间和错误消息。
    示例模板:
Value Date (\d{4}-\d{2}-\d{2})
Value Time (\d{2}:\d{2}:\d{2})
Value LogLevel (ERROR)
Value Message (.+)

Start
  ^${Date} ${Time} ${LogLevel} ${Message} -> Record
  1. 解析配置文件中的参数: 从配置文件中提取特定参数及其对应的值。
    示例模板:
Value Key (\w+)
Value Value (\S+)

Start
  ^${Key}=${Value} -> Record
  1. 处理命令输出的统计信息: 解析命令输出中的统计数据,例如 CPU 使用率、内存使用情况等。
    示例模板:
Value Metric (\w+)
Value Value (\d+)

Start
  ^${Metric}:\s+${Value}% -> Record
  1. 提取网页中的链接和标题: 从 HTML 文本中提取超链接及其对应的标题。
    示例模板:
Value URL (https?://\S+)
Value Title (.+?)

Start
  ^<a href="${URL}">${Title}</a> -> Record
  1. 解析设备的路由表信息: 从路由器的路由表输出中提取目的地、下一跳等信息。
    示例模板:
Value Destination (\S+)
Value NextHop (\S+)

Start
  ^${Destination}\s+${NextHop} -> Record
  1. 处理防火墙规则列表: 解析防火墙配置,提取规则的源地址、目的地址和动作等信息。
    示例模板:
Value Source (\S+)
Value Destination (\S+)
Value Action (\w+)

Start
  ^${Source}\s+${Destination}\s+${Action} -> Record
  1. 提取系统进程列表: 从系统进程列表中提取进程 ID、名称和状态等信息。
    示例模板:
Value PID (\d+)
Value Name (\S+)
Value Status (\w+)

Start
  ^${PID}\s+${Name}\s+${Status} -> Record
  1. 解析磁盘使用情况: 从磁盘使用情况报告中提取文件系统、已用空间和可用空间等信息。
    示例模板:
Value Filesystem (\S+)
Value Used (\d+)
Value Available (\d+)

Start
  ^${Filesystem}\s+\d+\s+${Used}\s+${Available} -> Record
  1. 处理用户登录记录: 解析用户登录日志,提取用户名、登录时间和来源 IP 等信息。
    示例模板:
Value Username (\S+)
Value LoginTime (\S+ \d+ \d+:\d+:\d+)
Value SourceIP (\d+\.\d+\.\d+\.\d+)

Start
  ^${Username}\s+${LoginTime}\s+${SourceIP} -> Record