解析Expect并将输出设置为字符串

时间:2012-10-20 09:49:11

标签: expect

我试图找出如何在expect中解析命令的输出,然后设置它作为变量返回的内容。基本上我有一个看起来像列表IE的命令输出:

ONEA
ONEB
ONEB
TwoA
TwoB
TWOC
ThreeA
ThreeB
ThreeC

基本上我需要它来找到所有的值,让我们说以One开头,然后对每个实例运行另一个命令。像一个统计OneA和打印输出然后Stat OneB
然后Stat OneC ... 希望这样做。

由于

戴夫

1 个答案:

答案 0 :(得分:1)

可能更容易使用shell管道:

send -- "yourCommand | grep '^One' | xargs -L 1 stat\r"

期待,这将是:

send -- "yourCommand\r"
expect -re $thePrompt
foreach line [split $expect_out(buffer) \n] {
    if {[string match {One*} $line]} {
        send -- "stat $line\r"
        expect -re $thePrompt
    }
}