Estou tentando fazer com que meu script esperado reconheça um endereço IP usando regex. Pelo que sei, não consigo fazer nenhuma string regex funcionar.
Aqui está um trecho do meu código:
send "show router arp mac $MACADDR\r"
expect -re "^.\d+\.\d+\.\d+\.\d+.$"
puts "Carrying on....."
set IP_OUTPUT $expect_out(buffer)
puts $IP_OUTPUT
puts "Yay! That was success!!"
}
Eu tentei vários estilos de regex, mas todos parecem dar os mesmos resultados...nenhum.
O comando é executado conforme o esperado e retorna as informações necessárias, mas obtém expect
a próxima linha (o prompt para um novo comando)
Como eu espero $IP_OUTPUT
que seja
A::device.name# show router arp mac 00:00:00:00:00:00
===============================================================================
ARP Table (Router: Base)
===============================================================================
IP Address MAC Address Expiry Type Interface
-------------------------------------------------------------------------------
10.0.0.2 00:00:00:00:00:00 03h53m17s Dyn[I] Vlan799
===============================================================================
Mas tudo o que isso me dá é 'A:device.name#'