如何使用awk提取df -h输出中根分区/对应的指定行内容?
根分区磁盘信息筛选方案
方法1:仅使用awk实现
这是最简洁的方案,直接利用awk内置变量匹配挂载点:
- 仅输出根分区的容量/已用/可用/使用率字段:
df -h | awk '$NF == "/" {print $2, $3, $4, $5}' - 如果需要同时保留表头输出:
df -h | awk 'NR==1 || $NF == "/" {print $2, $3, $4, $5}'
说明:
$NF是awk内置变量,代表当前行的最后一个字段,刚好对应df输出的「挂载点」列,精准匹配等于/的行即可筛出根分区信息。
方法2:结合grep过滤实现
如果你更习惯用grep做初筛,可以用以下命令:df -h | grep ' /$' | awk '{print $2, $3, $4, $5}'
说明:grep的匹配规则
/$表示匹配行末尾为/的内容,避免误匹配到/dev、/run等其他带/前缀的挂载路径。
输出示例
执行带表头的命令后,得到的输出如下:
Size Used Avail Use% 468G 64G 381G 15%
如果需要根分区的完整行信息,直接去掉print的字段限制即可,命令为df -h | awk '$NF == "/"'。
内容的提问来源于stack exchange,提问作者Somethingwhatever
相关产品推荐
相关产品推荐

