在Linux中,你可以使用sort命令和awk命令來對free命令的輸出結果按照特定字段進行排序
free -m | awk 'NR==2{printf "%s\t%s\t%s\n", $2, $3, $4}' | sort -k 2nr -k 3nr -k 4nr
這個命令的解釋如下:
free -m:顯示系統的內存使用情況,單位是兆字節(MB)。awk 'NR==2{printf "%s\t%s\t%s\n", $2, $3, $4}':使用awk命令處理free的輸出結果。這里我們只關心第二行(NR==2),因為我們想要查看以GB為單位的數據。$2、$3和$4分別表示以KB為單位的總內存、已使用內存和空閑內存。我們使用\t分隔這些值,并在每行末尾添加換行符\n。sort -k 2nr -k 3nr -k 4nr:使用sort命令對處理后的輸出結果進行排序。-k選項后面跟著要排序的字段(從1開始計數),nr表示按數值排序(而不是按字符串排序)。運行這個命令后,你將看到類似以下的輸出結果:
total used free shared buff/cache available
Mem: 7.7Gi 3.9Gi 1.2Gi 1.0Gi 2.5Gi 2.6Gi
Swap: 2.0Gi 0B 2.0Gi
這個輸出結果已經按照總內存(以GB為單位)、已使用內存(以GB為單位)和空閑內存(以GB為單位)進行了排序。