File io 如何将网络设备名称从外部CSV或文本文件读入脚本?

File io 如何将网络设备名称从外部CSV或文本文件读入脚本?,file-io,tcl,expect,File Io,Tcl,Expect,我已经用Exepct语言编写了以下示例脚本来备份我的网络设备配置(cisco设备) 现在,我希望我的脚本从csv或更简单的txt文件加载$device;我的意思是,假设我的txt文件以以下方式包含所有cisco ip地址: 192.168.244.20 192.158.244.21 ... 192.168.244.245 我希望该脚本一旦加载txt文件,每次加载一个ip地址,将该ip地址分配给$device变量,然后生成命令“copyrunning config…” 我该怎么办?任何人都可以帮

我已经用Exepct语言编写了以下示例脚本来备份我的网络设备配置(cisco设备)

现在,我希望我的脚本从csv或更简单的txt文件加载$device;我的意思是,假设我的txt文件以以下方式包含所有cisco ip地址:

192.168.244.20
192.158.244.21
...
192.168.244.245
我希望该脚本一旦加载txt文件,每次加载一个ip地址,将该ip地址分配给$device变量,然后生成命令“copyrunning config…” 我该怎么办?任何人都可以帮助我

# -------------- core -------------- #
set file_handle [open text.txt r]
while {[gets $file_handle device] != -1} {
    spawn telnet $device
    #... same as above
    send "exit\r"
    expect eof
}
close $file_handle
有关特定命令的帮助,请参见


有关特定命令的帮助,请参见

可以使用tcllib中的csv包,但对于单列IP地址表,不需要任何复杂性。可以使用tcllib中的csv包,但对于单列IP地址表,不需要任何复杂性。
# -------------- core -------------- #
set file_handle [open text.txt r]
while {[gets $file_handle device] != -1} {
    spawn telnet $device
    #... same as above
    send "exit\r"
    expect eof
}
close $file_handle