我喜欢 vim 突出显示 syslog 输出的方式。但是,我只想打开最近的输出。我试过
grep --color=always "$@" /var/log/syslog > /tmp/fileOUT
vim /tmp/fileOUT
但它给出了像 [033;m blah blah 这样的 bash 颜色输出。如果我不这样做include --color=always
,则根本没有颜色。我该怎么做?(我正在使用 bash)
答案1
出色地,vim
使用颜色模板文件grep
用于语法高亮。这与使用 ANSI 转义序列(您提到的内容)的输出无关\[033;
。
我的 vim 没有 syslog 的样式文件,也没有为其添加颜色(我在 Debian 和 Ubuntu 14.04 上都检查过了)。如果您查看系统上的相关文件,您会发现它以定义要匹配的文件的正则表达式开头。因此,如果您使用/tmp/fileOUT
该语法进行匹配,它应该是彩色的。不要使用--color=always
,那只会把事情搞砸。
或者,你也可以使用source-highlight
。使用 安装它sudo apt-get install source-highlight
然后运行:
sudo tail -n 50 /var/log/syslog | source-highlight --out-format=esc -o STDOUT -s log
上述命令将为最后 50 行添加颜色/var/log/syslog
: