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

### Linux查看日志文件的方法 在 Linux 中,有多种方式可以实现实查看日志文件的功能。以下是几种常用的方法: #### 方法一:使用 `tail` 命令 `tail` 是最常用的命令之一,用于显示文件的最后部分内容,并支持实监控模式。通过 `-f` 参数可以让 `tail` 不断监视文件的变化并输出新增内容[^2]。 示例代码如下: ```bash tail -f /path/to/logfile.log ``` 此命令会持续跟踪指定的日志文件 `/path/to/logfile.log` 并打印新追加的内容到终端窗口中直到手动停止(通常按 Ctrl+C 结束)[^3]。 #### 方法二:利用 `watch` 命令 虽然 `watch` 主要用来定期执行某个命令并将结果展示出来,但它也可以间接帮助观察日志变动情况。不过相比起专门设计用于流式处理数据结尾部分的 `tail`, 它可能不是最佳选择因为每次刷新整个屏幕可能会丢失一些细节信息除非特别配置参数调整频率和清理选项等设置。 基本语法形式为: ```bash watch cat /path/to/logfile.log ``` 但是更推荐的方式还是采用前一种即基于 `tail -f`. #### 方法三:借助其他高级工具如 ` multitail ` 对于更加复杂的需求场景比如同对比多个不同来源的日志记录或者高亮关键字等功能需求的话,则可考虑安装第三方软件包例如 `multitail`. 这类程序提供了丰富的特性使得管理多源动态文本变得简单直观许多[^1]. 安装与基础调用样例如下所示(需先确认系统已预装该应用否则得自行下载部署): ```bash sudo apt-get install multitail # 对于Debian/Ubuntu系列发行版而言 yum install multitail # 针对RedHat/CentOS家族成员来说 ... multitail /var/log/syslog # 开始追踪 syslog 文件中的最新活动状况 ``` 综上所述,在日常运维工作中针对简单的在线浏览操作建议优先选用内置的基础指令组合即可满足大部分场合下的实际运用要求;而对于那些追求极致体验效果的情形之下再酌情引入外部增强型解决方案不失明智之举。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值