如何实现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模式

cp /etc/DIR_COLORS ~/.dir_colors

vi ~/.dir_colors

找到“DIR 0134 # directory”,将34改为36。

数字代表的颜色 在下面会有显示

你可以找到文件的两行注释:

# Text color codes:

# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white

ubuntu

因为ubuntu下的/etc/目录里没有DIR_COLORS(别找了,肯定没有), 所以费了点劲儿

1. 利用dircolors命令,查看我们的系统当前的文件名称显示颜色的值,然后利用管道重定向到用户目录下的任意一个文件(这里我们创建了一个.dir_colors文件)

命令1: cd ~

命令2: dircolors -p >.dircolors

2. 用vim打开.dircolors文件,然后找到“DIR 0134” //这里的01表示高亮度显示,34表示蓝色,33表示黄色

修改为 “DIR 0133”,保存退出

如果生成的文件不是.dircolors 需要进行第三步

3. 为了将修改之后的配置文件导入到dircolors中,我们采取如下的方案

打开用户目录下的.bashrc文件,找到类似“eval 'dircolors -b '”(如果没有自行添加),

修改为 eval 'dircolors -b .dir_colors' 保存退出 //这里的.dir_colors就是我们前面自己创建的文件

4. 为了让修改生效,退出,并重新进入系统

命令: exit

5. 就可以按照你的意思来显示目录了

首先检查你的Linux的配置,包括IP地址、ssh服务是否已运行、有没有防火墙 然后检查你的外部主机的IP地址,应该与虚拟机在同一个网段上。启动secure crt,新建一个连接,输入Linux的地址,并选择服务类型为ssh,输入用户名,单击连接按钮,连接成功的话就会提示你输入密码了。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存