You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下如何高亮Use%列超80%的行并保留完整输出?

实现磁盘使用率超过80%行高亮的方法

这个需求完全可以实现,下面是两种简单的终端高亮方案:

方法一:使用awk(推荐)

通过awk解析df -h的输出,对使用率超过80%的行添加红色高亮,同时保留完整输出:

df -h | awk '
    BEGIN { red = "\033[31m"; reset = "\033[0m" }
    NR == 1 { print $0; next }
    {
        pct = $5
        sub(/%/, "", pct)
        if (pct > 80) printf "%s%s%s\n", red, $0, reset
        else print $0
    }
'

说明:

  • \033[31m是ANSI红色转义码,\033[0m用于重置颜色回默认值
  • 首行(表头)直接原样输出,不做处理
  • 对其他行提取第5列(Use%),去掉百分号后转为数值判断,超过80则用红色包裹整行

方法二:结合grep和sed

如果更习惯用grep工具,可通过反向匹配配合sed添加颜色:

df -h | sed -e '/^Filesystem/!s/\(.* [0-9]\{2,3\}% .*\)/\x1b[31m\1\x1b[0m/' | grep -E '^Filesystem|([0-9]{2,3}% .*)'

不过该方法精准度略逊于awk,它会匹配所有两位数及以上的百分比,而非严格判断是否超过80。

注意事项:

  • 以上方案仅在支持ANSI转义码的终端中有效(大部分现代Linux终端均支持)
  • 若需将输出保存到文件,颜色转义码会被写入文件,此时可去掉颜色部分或使用其他工具处理

内容的提问来源于stack exchange,提问作者kokila balakrishnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 13:15:00