按挂载点对 df 输出进行排序

按挂载点对 df 输出进行排序

我需要df -h按列中的挂载点的字母顺序对输出进行排序Mounted on

但是,df -h目前的输出类似于:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  228G   14G  203G   7% /
/dev/nvme0n1p1  511M  7.9M  504M   2% /boot/efi
/dev/sdf2        17T   17T  3.3T  56% /mnt/data/drive014
/dev/sdl1        17T   17T   53G 100% /mnt/data/drive006
/dev/sdd1        17T   17T  102G 100% /mnt/data/drive002
/dev/sda1        17T   17T   26G 100% /mnt/data/drive001

是否有命令可以得到如下所示的输出?

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  228G   14G  203G   7% /
/dev/nvme0n1p1  511M  7.9M  504M   2% /boot/efi
/dev/sda1        17T   17T   26G 100% /mnt/data/drive001
/dev/sdd1        17T   17T  102G 100% /mnt/data/drive002
/dev/sdl1        17T   17T   53G 100% /mnt/data/drive006
/dev/sdf2        17T   17T  3.3T  56% /mnt/data/drive014

答案1

使用 bash,您可以执行以下操作:

df -h | { read -r line; echo "$line"; sort -k 6,6; }

它将读取(消耗)并打印第一行(标题行),然后 sort 将消耗所有剩余部分。

相关内容