首页 > 解决方案 > 如何删除 df 命令中的标头?

问题描述

我正在尝试编写一个 bash 命令,该命令将根据他们使用并尝试使用的数据量对所有卷进行排序

df | awk '{print $1 | "sort -r -k3 -n"}'

输出:

map
devfs
Filesystem
/dev/disk1s5
/dev/disk1s2
/dev/disk1s1

但这也显示了名为 Filesystem 的标头。我该如何删除它?

标签: bash

解决方案


df从with的输出中计算行数wc,然后减去一行以输出无标题dfwith tail...

LINES=$(df|wc -l)
LINES=$((${LINES}-1))
df | tail -n ${LINES}

好的-我看到oneliner-这是我的...

DF_HEADERLESS=$(LINES=$(df|wc -l); LINES=$((${LINES}-1));df | tail -n ${LINES})

对于格式化的输出,让 printf 循环它......

printf "%s\t%s\t%s\t%s\t%s\t%s\n" ${DF_HEADERLESS} | awk '{print $1 | "sort -r -k3 -n"}'

推荐阅读