5

我需要从交换机/路由器中解析出“show env all”,但文本结构不同。

开关 A:

FAN is OK
SYSTEM TEMPERATURE is OK
System Temperature Value: 38 Degree Celsius
System Temperature State: GREEN
Yellow Threshold : 58 Degree Celsius
Red Threshold    : 68 Degree Celsius

开关 B:

FAN is OK
TEMPERATURE is OK
Temperature Value: 42 Degree Celsius
Temperature State: GREEN
Yellow Threshold : 54 Degree Celsius
Red Threshold    : 64 Degree Celsius

不同的是“系统”。我需要创建一个可用于开关 A 和 B 的 TextFSM 模板。因此,我不需要为每个开关创建 2 个 TextFSM 模板。

我当前的模板:

Value FAN (\S*) 
Value TEMPERATURE (\S*) 
Value TEMPERATURE_VALUE (\S*) 
Value TEMPERATURE_STATE (\S*)
Value YELLOW_THRESHOLD (\S*)
Value RED_THRESHOLD (\S*) 
Value POWER (\S*)
Value RPS (\S*)

Start 
  ^FAN is ${FAN}
  ^TEMPERATURE is ${TEMPERATURE}
  ^Temperature Value: ${TEMPERATURE_VALUE}
  ^Temperature State: ${TEMPERATURE_STATE}
  ^Yellow Threshold : ${YELLOW_THRESHOLD}
  ^Red Threshold    : ${RED_THRESHOLD}

*仅适用于开关 B

我应该添加喜欢[System] Temperature Value还是什么?

谢谢 :)

4

1 回答 1

5

您可以添加system为可选

^(?:SYSTEM )?TEMPERATURE is (.*)$

演示说明

于 2017-05-19T04:01:11.260 回答