如何实现Linux下高亮关键字的tail

如何实现Linux下高亮关键字的tail,第1张

一种思路就是把你tail输出的东西再做一次包装处理,这个很符合linux管道处理的思想。以高亮Log中的ERROR为例,你可以这样:

Shell代码

tail -f xxx.log | perl -pe 's/(ERROR)/\e[131m$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模式

你可以试试自己用 mingw 编译一个 DOS 下面可用的 tail 啊~

如果你用 windows 的 cmd 。可以看看 powershell 有没有这个命令。

或者尝试安装一个 cygwin ,里面我记得有这个命令。之后用 cywin 的 bash 命令行当命令行用。

你要是用纯 DOS ,貌似你可以放弃计算机了……


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7323128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存