В этом блоке кода вы сможете использовать регулярное выражение для сопоставления с выводом запроса SELECT, а затем сохранить его в переменной.
send "select id from motype_r1 where data = 'PlugInUnit';\r"
expect {
-re {(\|[^\d]*(\d+).*\|)} { set id $expect_out(1,string) ; exp_continue }
-re "OFFLINE_DB.DAT>"
}
(Простите за несколько уродливое регулярное выражение, котороеЯ использовал, но он должен совпадать с последним числовым идентификатором в операторе возврата.)
* $expect_out(1,string)
относится к первому совпадению строки в регулярном выражении, тогда exp_continue вызовет ожидаемое продолжение ожидаемого вывода, пока не увидитсообщение «OFFLINE_DB.DAT» (кстати, мне не нужен префикс -re
).
Надеюсь, это работает!