的top
輸出並不意味着要分析這種方式。您可以通過其他更簡單(更好!)的方式獲得大量內存。
sed -n -e '/^MemTotal/s/^[^0-9]*//p' /proc/meminfo
或者你可以解析的free
的輸出,也知道如何在方便的尺寸顯示:
# total memory in megabytes
free -m | sed -n -e '/^Mem:/s/^[^0-9]*\([0-9]*\) .*/\1/p'
編輯:「誰?什麼擴展」你總是要問自己
要與期望發送這些命令,嘗試
send "sed -n -e '/^MemTotal/s/^\[^0-9\]*//p' /proc/meminfo\n"
# also removes kb suffix
send "sed -n -e '/^MemTotal/{s/^\[^0-9\]*//;s/ .*//p}' /proc/meminfo\n"
# displays in megabytes
send "free -m | sed -n -e '/^Mem:/{s/^\[^0-9\]*//;s/ .*//p}'\n"
這從expect
東西逃跑,它會以其他方式處理,並且打算爲sed
。
這裏是一個(正確逃脫)你的原始版本。
send "top -n 1 | grep Mem: | awk '{ print \$(NF-7) }' | cut -d 'k' -f1\n"
'的/ proc/meminfo'更易於解析。 – Mat 2012-04-23 09:00:12