我正在查看不同的日志
tail -q -f /var/log/syslog -f /var/log/fail2ban.log -f /var/log/nginx/error.log
Run Code Online (Sandbox Code Playgroud)
我怎样才能让每个日志的输出颜色不同?
是否有一个命令可用于在将整个字符串传递给 stdout 的同时轻松突出显示(使用颜色、粗体文本或倒置的背景/前景)标准输入中的特定字符串?我正在考虑构建它,但如果它已经存在,我宁愿使用它。一些理想的功能:
在这个问题中,吉尔斯回答了
另一种可能性是
tail -f在Emacs shell 缓冲区中运行并使用 Emacs 的语法着色能力。
因为我是 vim 用户,所以我想用vim而不是emacs来做这件事。
请问VIM有这个功能吗?
我在 OS X 上,它有一个 BSD 版本sed(我猜它不如 Linux 上的 GNU 版本),并且所有在 commandlinefu.com 上去除颜色的技术都不起作用。我尝试用 替换-r开关(在 OS X 上不存在)-e,但这没有帮助。
是否有一些可靠的方法可以删除 OS X 上的颜色格式代码?这是我正在运行的需要去除颜色输出的命令:
for concurrency in $(seq 1 50); do siege -f urls.txt -c $concurrency -t 5m >> results.csv ; done
Run Code Online (Sandbox Code Playgroud)
这是一个尝试用于sed从 CSV 输出中去除颜色的示例:
for concurrency in $(seq 1 50); do siege -f urls.txt -c $concurrency -t 5m | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" >> results.csv ; done
Run Code Online (Sandbox Code Playgroud) 我想使用 wim、less 或其他方式更改显示大(约 6000 行)日志文件的方式,以简化问题检查。
我想强调一些行对数的基础上图案(即error,warning,info...)和/或隐藏一些人。
我可以使用哪些工具?我只需要一个shell脚本吗?重要的是,在这个过程之后,我可以使用less、vim、...读取输出来执行搜索操作!
编辑:日志的一小部分:
2016/10/25 12:19:24.403355 INFO <ServiceManager.cpp#2614 TID#3> Security object has NOT been parsed
2016/10/25 12:19:24.403369 INFO <ServiceManager.cpp#1263 TID#3> Service object sequence started
2016/10/25 12:19:24.403372 DBG <ServiceManager.cpp#1276 TID#3> preinvoke succeeded
Run Code Online (Sandbox Code Playgroud) 现在我基本上是tail /var/log/syslog每隔一段时间手动执行一次。有什么东西可以让我看到不断添加的内容,还是我需要自己写一些东西?
我将如何对tailwith的输出进行着色sed?
echo "`tput setaf 1`foo`tput op`" 按预期工作
echo "foo" | sed -e 's/(foo)/`tput setaf 1`\0`tput op`/g' 然而,没有。
我在这里缺少什么?
目前,我使用
egrep --color 'error|$'
Run Code Online (Sandbox Code Playgroud)
突出显示包含单词 error 的行中的每个单词:

我想突出显示整行,以便整个字符串显示为红色。
我怎样才能做到这一点?