2017-04-06 69 views
0

未找到簡要說明。高亮顯示恆定基準線

我在終端輸出:

[2017-04-06 21:12:28,946] [DEBUG] utils.py:106 [farm.utils] - Collection 
[2017-04-06 21:12:28,946] [DEBUG] utils.py:108 [farm.utils] - Inserting content to collection 
[2017-04-06 21:11:29,699] [ERROR] utils.py:117 [farm.utils] - Unexpected error during insertion. 

而且我希望每次出現的時間要突出一行ERROR

我該怎麼做?

回答

0

可以通過管道通過該命令文件:

sed '/ERROR/s/\(.*\)/'"$(tput setaf 1)"'\1'"$(tput sgr0)"'/' infile 

對於含有ERROR的每一行,它把的

tput setaf 1 

的輸出(端子逃逸代碼,通常, 「紅色」)在該行的開始和

tput sgr0 

輸出在第(復位顏色逃逸)行結束。

這些看起來大致是這樣的:

[[31m[2017-04-06 21:11:29,699] [ERROR] utils.py:117 [farm.utils] - Unexpected error during insertion.^[(B^[[m 

和解釋,希望像您的尋呼機可能必須配置正確解釋轉義序列

enter image description here

通知;例如,對於less,您需要-R選項。

+0

你在說管道.bash_profile嗎? 它引發錯誤:'sed:infile:沒有這樣的文件或目錄' – Snobby

+0

@Snobby啊,對不起,'infile'只是我用於輸入文件的名稱。您必須改用日誌文件的名稱,或者如果要在管道中使用該命令,則必須完全跳過它:'command_that_produces_log | sed'/ ERROR/...'' –

+0

ehrmm,這不完全是事情。我想知道如果我可以定義一次,所有更多的輸出將被突出顯示。在你的例子中,我需要鍵入'command_that_produces_log |每次我需要這個突出顯示時,sed'/ ERROR/...'',這並不是那麼有趣。 – Snobby