ack(-grep)有哪些颜色选项可用于输出,日志等的着色?

时间:2012-03-08 21:35:15

标签: bash shell logging ack

哪里可以找到所有颜色组合的列表,或者可以与ack(-grep)一起使用?我发现通过ack-grep传递日志可以非常有助于检测错误,警告或其他各种条件,尤其是着色,但是我还没有找到可以使用组合的权威列表等。

tail -f development.log \
| ack-grep --flush --passthru --color --color-match=yellow "^.*warning.*"

我见过标准颜色等选项:redblueyellowgreen等。

我已经看到你可以使用"white on_green"

但还有什么?

2 个答案:

答案 0 :(得分:24)

ack使用Perl的Term::ANSIColor模块,因此您可以查看可用的内容:

perldoc Term::ANSIColor

以下是相关的摘录。

   The recognized normal foreground color attributes (colors 0 to 7) are:

     black  red  green  yellow  blue  magenta  cyan  white

   The corresponding bright foreground color attributes (colors 8 to 15)
   are:

     bright_black  bright_red      bright_green  bright_yellow
     bright_blue   bright_magenta  bright_cyan   bright_white

   The recognized normal background color attributes (colors 0 to 7) are:

     on_black  on_red      on_green  on_yellow
     on_blue   on_magenta  on_cyan   on_white

   The recognized bright background color attributes (colors 8 to 15) are:

     on_bright_black  on_bright_red      on_bright_green  on_bright_yellow
     on_bright_blue   on_bright_magenta  on_bright_cyan   on_bright_white

   For any of the above listed attributes, case is not significant.

我很高兴看到你也使用--passthru

我们欢迎您ack-users mailing list

答案 1 :(得分:8)

另一个有趣的事情是使用默认配置创建一个〜/ .ackrc,如:

--color
--color-match=on_white
--color-filename=red
--color-lineno=magenta

例如,要在白色控制台背景上获得可读结果。 (实际上我之所以开始搜索并发现这个问题以及来自@ andy-lester的有用回复)。