在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为单位)进行了排序。