如何实现Linux下高亮关键字的tail -f功能
2014-03-11 00:00
417 查看
公司内部一哥们发布到邮件列表中的一个小tip,挺有意思,属于程序员的“奇淫技巧”类吧,值得记录一下。
如果你在linux下工作,那用tail -f跟踪一个日志文件的输出内容应该是家常便饭了。
但是,有时你更关心的是一些敏感字词,希望能够在动态跟踪的同时,把这些字词高亮出来,比如日志中的ERROR关键字。
那么,一种思路就是把你tail输出的东西再做一次包装处理,这个很符合linux管道处理的思想。
以高亮Log中的ERROR为例,你可以这样:
其中,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模式
结束收工!
如果你在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模式
结束收工!
相关文章推荐
- 如何实现Linux下高亮关键字的tail -f功能
- 如何实现Linux下高亮关键字的tail -f功能
- Linux强大的网络功能是如何实现的,让我们一起进入Linux内核的网络系统了解一下吧。
- Linux下如何用互斥锁实现Windows下的临界区功能
- Linux如何实现断点续传文件功能?
- JavaScript实现关键字高亮功能
- linux如何实现相关功能源代码
- Linux——Vi/Vim如何消除搜索后的关键字高亮
- 简单JavaScript语句实现搜索关键字高亮功能
- JavaScript实现关键字高亮功能
- linux下vim中,如何使搜索的关键字高亮
- REDHAT5中如何配置SAMBA实现window与linux之间的文件互访功能!
- 如何实现Linux操作系统的自动登录功能
- (MS SQL)如何实现相关文章功能(多关键字匹配)改进版
- 抱歉,没分了!!!请教linux下,用C/C++编程,如何知道我要实现某一功能需要用到什么函数
- Linux学习-->如何通过Shell脚本实现发送邮件通知功能?
- Linux下如何实现U盘、SD卡自动挂载功能?
- 如何实现报表中高亮显示文本功能
- linux下c语言实现tail -f功能---实时读取变化文件中的增量内容
- 如何实现IOS_SearchBar搜索栏及关键字高亮