怎么样让 tail -f log 可以彩色显示?

2015-03-15 10:18:04 +08:00
 tommark
比方说某一行有error这样的词就显示红色
success就显示绿色。
7436 次点击
所在节点    Linux
8 条回复
megaforce
2015-03-15 10:25:01 +08:00
我想到的就是用写一个脚本实现很容易
tommark
2015-03-15 10:32:30 +08:00
@megaforce 能给个示例吗?
zhengkai
2015-03-15 10:38:43 +08:00
看 log 是否能输出颜色

比方说你 ls >> /tmp/ls.log 是没有颜色的,但是你 ls --color=always >> /tmp/ls.log 就可以有颜色了

但是我估计这种可能性不大

所以可以你自己再加一层管道输出,来自己识别。就是从标准输入一行一行读,然后正则或者别的什么方式识别每一行字符串,在对应位置加 ANSI 颜色代码,再 echo 出来

最后执行的命令就是 tail -f xxx.log | yourscript

我这有个 php 脚本格式化 git diff 输出的

https://github.com/zhengkai/config/blob/master/script/git_diff.php

最终执行命令是 git diff --no-ext-diff -b -w -z --color=never | ~/conf/script/git_diff.php

你可以参考一下
pkuphy
2015-03-15 10:56:28 +08:00
1. 安装 colout 包:
sudo pip install colout

2. 输出重定向并彩色输出
tail -f log 2>&1 | colout error red | colout success green
mcfog
2015-03-15 11:06:12 +08:00
典型的awk需求吧

正好再看一遍awk教程

http://ferd.ca/awk-in-20-minutes.html

成品

https://gist.github.com/mcfog/dead27aa7e4b4d610578

(hash开头正好是dead……)
mengzhuo
2015-03-15 13:38:00 +08:00
mutiltail
grc
colortail
不用谢
cattyhouse
2015-03-15 23:53:44 +08:00
tail -f log |grep success
chilaoqi
2015-03-16 14:17:55 +08:00
tailf log | nc -l 8080
之后在浏览器里webconsole 写点css控制下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/176986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX