通过Sed命令,在Shell终端中高亮指定行

需求

在执行某些 Shell 命令时,需要将特定的行以高亮方式显示,以提醒操作人员关注,例如

打印文件系统的占用情况时,需要真正关注的是 / 目录的空间使用情况(因为我系统就分了 //home 两个分区)

原始数据如下图所示:

终端截图

方案

知识点:

  1. 通过管道符将磁盘使用的结果传递给 sed 命令取处理;

  2. 使用正则动态匹配需要高亮的行;

  3. sed 中对于颜色的处理需要使用 16 进制。即,颜色标识应以 \x1b[ 开头;

  4. 参考文档:

初步验证可用的命令:

df -hl | cat |sed -e "s/\(\/dev\/.*root.*\)/\x1b[44;37m\1 <------ Watch out this line\!\!\! \x1b[0m/"

结果

终端命令高亮结果

posted @ 2022-09-26 14:16  Hi_埃里克  阅读(253)  评论(0编辑  收藏  举报