2012-03-08 46 views
12

哪裏可以找到所有顏色組合的列表或可用於ack(-grep)?我發現,通過日誌通過ack-grep可以在檢測到錯誤,警告或尤其是彩色的各種其他條件是相當有幫助的,但是我還沒有發現可以使用什麼連擊權威列表等對於輸出,日誌等的顏色化,ack(-grep)有哪些顏色選項?

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

我見過選項,例如標準顏色:redblueyellow,​​等

我也看到了,你可以用"white on_green"

還有什麼?

回答

22

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

+0

我添加了ack 2.0的票據來解釋它:https://github.com/petdance/ack2/issues/26 – 2012-03-09 00:12:54

+3

在linux(Ubuntu 11.10)服務器上,我看到'bright_'正在喚起錯誤:'/usr/share/perl5/App/Ack.pm line 1155'處的屬性名稱爲bright_black無效 - 此時是否應該將它傳遞給郵件列表? – ylluminate 2012-03-09 00:26:27

+0

這確實是一個Term :: ANSIColor問題,但肯定會將它帶給ack-users。 – 2012-03-09 00:39:24

6

另一個有趣的事情是創建默認配置的〜/ .ackrc像:

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

爲了獲得白色控制檯背景可讀結果實例。 (實際上我開始搜索並找到這個問題的原因以及@ andy-lester的有用答覆)。