2017-03-22 60 views
0

我想知道我的系統中有多少內存正在使用和釋放。我跑了免費命令下面是我的輸出
總使用免費共享緩衝區緩存
紀念品:16334624 16199712 134912 372780 333456 4673092
-/+緩衝區/緩存:11193164 5141460
交換:4194300 806484 3387816排序行和列的自由命令

現在我想擺脫第一列和最後一行。所以,我用這個免費的| sed -n 1,3p |切-d「」 -f2-及以下爲輸出

 total  used  free  shared buffers  cached 
16334624 16200348  134276  372732  333520 4658336 

緩存/緩存:11208492 5126132

現在我想在單行排列值。例如
total = 16334624,used = 16200348依此類推....最後使用緩衝區/緩存/ free = 11208492/5126132
任何想法我該怎麼做?

+0

殺死第一行。在第二行你有數字按順序。只需用適當的標籤打印它們。 – AlexP

回答

1

用awk這是可以做到這樣的:

free | awk 'NR==2 { printf("total = %s\nused = %s\nfree = %s\nshared = %s\nbuff/cache = %s\navailable = %s\n", $2,$3,$4,$5,$6,$7)}' 
  • 條件NR==2只選擇適用的操作中的第二線。
  • 不同的字段$2$7是從free輸出的數字列。
  • \nprintf創建一個新行。