【发布时间】:2013-06-17 06:37:55
【问题描述】:
我的问题与此类似:Syntax highlighting/colorizing cat。但并不完全相同。
一个工具,这样做会很棒:
-
cat一个文件 - 用颜色突出显示单词
xcx - 用颜色突出显示单词
ycy
等等。有人知道这样的事情吗?
对此的“现实动机”是:我有一个日志(例如由log4cxx 生成),我想用一种颜色突出显示DEBUG; ERROR 在另一个; WARN 在第三等等。
基本上,我想要实现的是:How to set colour of console output of log4cxx?
我想到了cat 和grep 之间的某种组合(带有自定义颜色)。但是外部工具也可以完成这项工作(如果存在)。
想法?
编辑:
谢谢,@sjngm!很好的建议。我对其进行了一些修改(现在可以用作alias,并且整行都被突出显示)。我决定发布我的修改,因为这可能对某人有用:
# escaped ' ------------v; light red ------vvvv; red ------------vvvv; yellow -------vvvvv; green ---------vvvv; brown ----------vvvv; dark gray ------vvvv
alias log_color='nawk '"'"'BEGIN { arr["FATAL"] = "1;31"; arr["ERROR"] = "0;31"; arr["WARN"] = "1;33"; arr["INFO"] = "0;32"; arr["DEBUG"] = "0;33"; arr["TRACE"] = "1;30" } { l = $0; for (pattern in arr) { gsub(".*" pattern ".*", "\033[" arr[pattern] "m&\033[0m", l); } print l; }'"'"
alias log_error='grep "FATAL\|ERROR\|WARN"'
示例用法:
$ cat log_file | log_color
$ cat log_file | log_error | log_color
【问题讨论】:
-
你见过multitail吗?
标签: linux terminal grep syntax-highlighting log4cxx