一、实验目的

通过使用TextFSM模板将执行'display clock'命令的回显内容进行日期和时间的筛选

二、实验说明

2.1 模板内容解释说明

#\d\d\d\d-\d\d-\d\d对应的是2021-12-11,其中\d代表匹配0-9的数值,只匹配一次,'-'是真实符号,没有什么特殊含义
Value Date (\d\d\d\d-\d\d-\d\d)
#\d\d:\d\d:\d\d对应的是13:07:32,其中\d代表匹配0-9的数值,只匹配一次,':'是真实符号,没有什么特殊含义
Value Time (\d\d:\d\d:\d\d)
#这里用Start语句来定义匹配规则,其中匹配规则由正则表达式的模式及变量名组成
Start
#'^'用于匹配输入字符串的开始位置,后面$用来调用我们之前设置好的Date并匹配该变量,这里调用变量时尽量用{},-08:00在这里不做任何匹配,最后用-> Record来结束TestFSM的匹配规则
  ^${Date} ${Time}-08:00 -> Record

2.2 脚本文件内容解释说明

#通过imort语句从textfsm模块导入TextFSM函数
from textfsm import TextFSM

#将回显导入赋予变量output
output = '''
2021-12-11 13:07:32-08:00
'''
#打开名为display_clock.template的模板并将其赋予变量f
f = open('display_clock.template')
#使用TextFSM函数调用模板并将其赋值给变量template
template = TextFSM(f)
#调用template下的ParseText()函数对回显内容进行解析并将其解析结果打印出来
print(template.ParseText(output))

三、linux环境下

3.1 创建一个名为'display_clock.template'的文件用来存放模板

图一

3.2 创建一个名为'textfsm_demo.py'的脚本文件

图二

3.3 执行命令'python3.8 textfsm_demo.py'跑脚本

图三

四、Windows环境下

4.1 创建一个名为'TestFSM'的文件夹(用于存放模板和脚本文件)

4.2 创建一个名为'display_clock.template'文本文件

图四

4.3 在同一个文件夹下创建一个名为'textfsm_demo'的脚本文件

图五

4.4 使用IDLE开发环境打开脚本并运行脚本

图六

图七

4.5 脚本输出结果如下

图八