2014-10-01 39 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 
相关问题