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