日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

如何实现Linux下高亮关键字的tail -f功能

發布時間:2023/12/20 linux 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何实现Linux下高亮关键字的tail -f功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:http://hittyt.iteye.com/blog/1927026

公司內部一哥們發布到郵件列表中的一個小tip,挺有意思,屬于程序員的“奇淫技巧”類吧,值得記錄一下。
如果你在linux下工作,那用tail -f跟蹤一個日志文件的輸出內容應該是家常便飯了。
但是,有時你更關心的是一些敏感字詞,希望能夠在動態跟蹤的同時,把這些字詞高亮出來,比如日志中的ERROR關鍵字。
那么,一種思路就是把你tail輸出的東西再做一次包裝處理,這個很符合linux管道處理的思想。以高亮Log中的ERROR為例,你可以這樣:

tail -f xxx.log | perl -pe 's/(ERROR)/\e[1;31m$1\e[0m/g'

其中,xxx.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 xxx.log
  • 中/${key_work}的方式搜索你要高亮的關鍵字。(即使目前文件中沒有也沒關系)
  • SHIFT+F,進入follow模式
  • 結束收工!

    附加內容:

    tail -f /path/to/file.log | sed '/^Finished: SUCCESS$/ q'

    當file.log里出現Finished: SUCCESS時候就退出tail,這個命令用于實時監控并過濾log是否出現了某條記錄。

    總結

    以上是生活随笔為你收集整理的如何实现Linux下高亮关键字的tail -f功能的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。