我需要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 将消耗所有剩余部分。