2014-10-01 37 views
-1

請關於以下理解問題的建議???如何從命令輸出中刪除空格/ TAB

我我這個Linux機器上鍵入:(爲了獲得通過top命令的總內存)

top -n1 | grep Mem: 
Mem: 2075024k total, 2059064k used, 15960k free, 249212k buffers 

所以現在我想的是存在於第二場的總內存,所以我這樣做:

# top -n1 | grep Mem: | awk '{print $2}' 

但沒有任何結果!!! - :(

,但如果我這樣做:(第三場),然後我得到儘管在第二場上存在的價值總價值??

# top -n1 | grep Mem: | awk '{print $3}' 
2075024k 

什麼辦法,我想正常使用的命令是:(AWK「{打印$ 2}」)

top -n1 | grep Mem: | awk '{print $2}' 

請指教什麼需要,以獲得第二個值添加到「正常」命令 - 2075024k - 什麼是wron g這裏?

# top -n1 | grep Mem: | od -c 
    0000000 M e m :  033 ( B 033 [ m 033 [ 3 9 ; 
    0000020 4 9 m 033 ( B 033 [ m   2 0 7 5 0 
    0000040 2 4 k  033 ( B 033 [ m 033 [ 3 9 ; 4 
    0000060 9 m t o t a l , 033 ( B 033 [ m 033 [ 
    0000100 3 9 ; 4 9 m 033 ( B 033 [ m   2 0 
    0000120 5 8 6 5 6 k  033 ( B 033 [ m 033 [ 3 
    0000140 9 ; 4 9 m u s e d , 033 ( B 033 [ m 
    0000160 033 [ 3 9 ; 4 9 m 033 ( B 033 [ m   
    0000200   1 6 3 6 8 k  033 ( B 033 [ m 033 
    0000220 [ 3 9 ; 4 9 m f r e e , 033 ( B 033 
    0000240 [ m 033 [ 3 9 ; 4 9 m 033 ( B 033 [ m 
    0000260    2 5 0 5 0 0 k  033 ( B 033 [ 
    0000300 m 033 [ 3 9 ; 4 9 m b u f f e r s 
    0000320 033 ( B 033 [ m 033 [ 3 9 ; 4 9 m 033 [ 
    0000340 K \n 
    0000342 
+1

做:'top -n1 | grep Mem:| od -c「來查看是否有隱藏的字符。在回答上一個問題時,我使用了頂部的'-b'選項,刪除了一些突出顯示。 – 2014-10-01 20:40:50

+0

看到我的更新:在問題中... – maihabunash 2014-10-01 20:43:26

+1

你看到所有這些ANSI序列? '$ 2'是'\ e(B \ e [m \ e [39; 49m \ e(B \ e [m'(其中'\ e'是八進制字符033)嘗試使用'top -b -n1' – 2014-10-01 20:46:25

回答

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

輸出(例如),單位:KB:

3095532 

或者:

grep -oP "^MemTotal: *\K[^ ]+" /proc/meminfo 

輸出(例如),單位:KB:

3095532 
相關問題