我需要解析来自telnet/ssh
命令的结果数据并对数据采取行动。
例如,我想与生成会话(ssh
此处)进行交互,列出当前目录中的文件并仅收集某个扩展名的文件,以便稍后仅对这些文件执行命令。
到目前为止我得到了什么:
#!/usr/bin/expect
set timeout 3
match_max 10000
set prompt {$ }
spawn ssh $user@$host
expect "password: "
send $pw\r
expect $prompt
# here's the command I need to parse resulting data
send "ls -1\r"
expect -re {(.*)\.log} {
set val $expect_out(1,string)
puts "LOG file: $val"
exp_continue
}
该脚本打开一个ssh
会话,发送命令并显示当前目录(日志和其他)中的所有文件,但我需要处理与给定模式匹配的每个文件,我该怎么做?
脚本输出:
$ DATA:
0_system.log
1_system.log
2_system.log
3_system.log
a.log
a.sh
blah
b.sh
data.csv