2011-07-01 38 views
3

在Linux中cat /proc/meminfo | grep MemTotal回來MemTotal: 12298824 kBLinux命令的物理內存,所獲得的價值只有

我只希望這裏的數字

所以我寫了cat /proc/meminfo | grep MemTotal | cut -d':' -f2這給了我12298824 kB

我只想號碼在這裏,任何人都可以幫我嗎?

注意:cat /proc/meminfo | grep MemTotal | cut -d':' -f2 | cut -d'k' -f1給我解決方案12298824,但是有沒有更好的方法?一班?

回答

9

使用AWK

cat /proc/meminfo | grep MemTotal | awk '{print $2}' 

@Lars Wirzenius's評論(無cat和無grep):

awk '/MemTotal/ { print $2 }' /proc/meminfo 
+0

謝謝你真的很好..你能解釋一下awk在這裏做什麼嗎? – abi1964

+0

它是好的,它的自我說明:) – abi1964

+5

'awk'/ MemTotal/{print $ 2}'/ proc/meminfo'避免了'cat'和'grep'。 – 2011-07-01 10:12:48

2

我用:

dmidecode -t 17 | grep Size | awk '{s+=$2} END {print s}' 

在我的CentOS kickstart%pre節中效果很好。它以MB爲單位返回總安裝內存量。即使你有空的內存庫,awk也會忽略它們,只添加整數結果。

+0

'dmidecode'不適用於所有架構,請謹慎使用。特別是在ppc/ppc64和s390/s390x上不可用。 – jbowes