多彩的控制台输出由unix管道过滤器

时间:2012-09-20 10:32:35

标签: linux unix colors pipe console-output

在检查控制台输出和记录不同软件的消息时,有时很难保持概述。将输出变得丰富多彩并突出显示当前重要的文本短语会更容易。

是否有一个Linux / UNIX shell程序可以用作过滤器,利用unix管道根据预定义的模式和颜色使控制台输出丰富多彩?

p.ex。 模式定义:

INFO=green
WARN=yellow
ERROR=red
\d+=lightgreen

突出显示消息的严重性以及数字。

用法:

$ chatty_software | color_filter
11:41:21.000 [green:INFO]  runtime.busevents - SensorA state updated to [lightgreen:17]
11:41:21.004 [green:INFO]  runtime.busevents - SensorB state updated to [lightgreen:20]

原始输出:

11:41:21.000 INFO  runtime.busevents - SensorA state updated to 17
11:41:21.004 INFO  runtime.busevents - SensorB state updated to 20

1 个答案:

答案 0 :(得分:3)

我们在这些行中使用了一个sed脚本:

s/.* error .*/^[[31m&^[[0m/
t done
s/.* warning .*/^[[33m&^[[0m/
t done

:done

并通过

调用它
sed -f log_color.sed

我想你可以做类似的事情吗?