我的问题与此类似:Syntax highlighting/colorizing cat。但不完全一样。用于突出显示不同颜色不同匹配的`cat`类似物
的工具,这样做将是巨大的:
cat
文件- 彩色亮点字
x
颜色cx
- 亮点字
y
cy
等有谁知道这样的事情?
的“真实世界的动机”的是这样的:我有一个日志(由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](http://www.vanheusden.com/multitail/)吗? – devnull