如何實現Linux下高亮關鍵字的tail f功能

2021-09-01 19:18:51 字數 863 閱讀 6498

公司內部一哥們發布到郵件列表中的乙個小tip,挺有意思,屬於程式設計師的「奇淫技巧」類吧,值得記錄一下。

如果你在linux下工作,那用tail -f跟蹤乙個日誌檔案的輸出內容應該是家常便飯了。

但是,有時你更關心的是一些敏感字詞,希望能夠在動態跟蹤的同時,把這些字詞高亮出來,比如日誌中的error關鍵字。

那麼,一種思路就是把你tail輸出的東西再做一次包裝處理,這個很符合linux管道處理的思想。以高亮log中的error為例,你可以這樣:

tail -f ***.log | perl -pe 's/(error)/\e[1;31m$1\e[0m/g'
其中,***.log是你要跟蹤的檔案。這裡假設了你的linux的path中有perl。perl在這裡幹的事情,就是通過命令列的方式進行動態的替換error字串的操作,替換過程中,主要使用了linux的console_codes的語法結構。(具體關於console_codes的細節,可以通過man console_codes進行了解)這裡,\e主要進行轉移說明。

如果你手頭有server log之類的日誌,試試上面的命令,是不是把error全部標紅了。

利用這個原理,你完全可以按照你所需要的顏色高亮你感興趣的輸出,具體的顏色說明,可以在man console_codes中查到。

另外,less本身也支援類似於tail -f的操作,就是在你用less開啟乙個檔案之後,按住shift+f鍵,這樣就直接進入follow的模式了。看上去跟tail -f效果是一致的。利用這點,你想達到高亮的tail -f的效果,就攏共分為以下3步了:

less ***.log

中/$的方式搜尋你要高亮的關鍵字。(即使目前檔案中沒有也沒關係)

shift+f,進入follow模式

結束收工!

如何高亮顯示關鍵字

以前寫全文檢索程式的時候寫的.原創 by 飛鳥 dev club.com email flybird dev club.com ie5.5 指令碼引擎 required dim patern dim found dim str dim result patern a b str a dog fall...

lucene 關鍵字高亮

indexwriter writer new indexwriter indexpath,analyzer,true document doca new document string filetexta 因為火燒雲總是燃燒著消失在太陽衝下地平線的時刻,然後便是寧靜的自然的天籟,沒有誰會在這樣的時光...

關鍵字高亮變色

在搜尋介面需要關鍵字與搜尋出來的文字高亮顯示並且不區分字母大小寫 關鍵字高亮變色 param color 變化的色值 param text 文字 param keyword 文字中的關鍵字 return 結果spannablestring public static spannablestring ...