1
Expectスクリプトを使用してホストの合計メモリを取得したいとします。 Get Total Memory of a host with LINUX/EXPECTで受け取った回答のおかげで、私は最終的な解決に近づいています。 (glenn jackmanとSorpigalのおかげで)。Expectバッファー文字列から特定の番号を抽出するにはどうすればよいですか?
ホストに接続した後、私は次の行を実行します。
send "cat /proc/meminfo | grep MemTotal | awk '{print \$2}'\r"
をそれは私がしたい値を返しますが、私は$expect_out(buffer)
に含まれている値を取得するとき、それは私が必要とするよりもはるかに多くの情報が含まれている、など、送信文および前後のコマンドプロンプトフラグを含む。私は正確にexp_internal 1
を使用して、以下を得る:
expect: set expect_out(buffer) "17# cat /proc/meminfo | grep MemTotal | awk '{print $2}'\r\n34150400\r\nCBA"
私は終了間際の数だけ、34150400
を抽出したいです。ヒントやアイデアは?
set fid [open /proc/meminfo]
while {[gets $fid line] != -1} {
if {[regexp {^MemTotal: *(\d+)} $line - memtotal]} {
break
}
}
close $fid
puts $memtotal
:ところで