Linux基础命令之tail动态显示日志文件时关键字有颜色、高亮显示

这玩意找了好久,有一次面试官问过,如何 在tail -f 的时候 动态显示catalina.out时,查找关键字。当然在Xshell中你可以右键查找,或者Ctrl+Shift+F进行区分大小写或者匹配正则表达式的方式来查询。但是 如何用命令呢? tail 是动态的。这个问题,我只回答了不知道。不知道就代表out~

前言

如果你在linux下工作,那用tail -f跟踪一个日志文件的输出内容应该是家常便饭了。

但是,有时你更关心的是一些敏感字词,希望能够在动态跟踪的同时,把这些字词高亮出来,比如日志中的 ERROR 关键字。

那么,一种思路就是把你tail输出的东西再做一次包装处理,这个很符合linux管道处理的思想。

tail

相关命令介绍可以点击:https://blog.csdn.net/Soinice/article/details/80842332

Linux下使用tail查找日志文件关键词高亮显示

单个关键词高亮显示

tail -f 日志文件 | perl -pe 's/(关键词)/\e[1;颜色$1\e[0m/g'
tail -f catalina.out | perl -pe 's/(DEBUG)/\e[1;34m$1\e[0m/g'

多个关键词高亮显示

tail -f catalina.out | perl -pe 's/(关键词1)|(关键词2)|(关键词3)/\e[1;颜色1$1\e[0m\e[1;颜色2$2\e[0m\e[1;颜色3$3\e[0m/g' 
tail -f catalina.out | perl -pe 's/(DEBUG)|(INFO)|(ERROR)/\e[1;34m$1\e[0m\e[1;33m$2\e[0m\e[1;31m$3\e[0m/g' 

备注: 匹配关键词使用的是正则表达式

字体颜色设置

30-37 黑、红、绿、黄、蓝、紫、青、白 

  • 30m:黑 
  • 31m:红 
  • 32m:绿 
  • 33m:黄 
  • 34m:蓝 
  • 35m:紫 
  • 36m:青 
  • 37m:白

背景颜色设置

40-47 黑、红、绿、黄、蓝、紫、青、白 

  • 40:黑 
  • 41:红 
  • 42:绿 
  • 43:黄 
  • 44:蓝 
  • 45:紫 
  • 46:青 
  • 47:白

其他参数说明

[1; 设置高亮加粗 
[4; 下划线 
[5; 闪烁

例子: 
黄字,高亮加粗显示 
[1;33m 
红底黄字,高亮加粗显示 
[1;41;33m

文章参考,如侵联删:

https://www.cnblogs.com/Detector/p/7246377.html

https://blog.csdn.net/qq_27686779/article/details/81180254

发布了178 篇原创文章 · 获赞 132 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/Soinice/article/details/96284534
今日推荐