【问题标题】:Hightlight keyword when grepgrep 时突出显示关键字
【发布时间】:2017-10-18 09:06:58
【问题描述】:

我有一个脚本,当我 grep 时会突出显示关键字,效果很好。

#!/bin/bash
OUTPUT_LOG="/Sandbox/myfile/somelogs.log"
grep --color=always $1 myfile.txt

如果我要做同样的事情,但将输出写入文件,那么它就行不通了。

#!/bin/bash
OUTPUT_LOG="/Sandbox/myfile/somelogs.log"
grep --color=always $1 myfile.txt >> $OUTPUT_LOG
vi $OUTPUT_LOG;

我尝试了 vi 或更少,但我仍然没有看到我的关键字被突出显示。我很困惑。为什么它不起作用?

tks

【问题讨论】:

  • grep --color=always 用于终端显示...没有理由期望任何文本编辑器也能理解它
  • 您可以通过grep --color=always 'searchstring' input_file | cat -v 看到突出显示

标签: bash unix scripting grep


【解决方案1】:

vi 可能不是您的输出到文件的好测试。

试试less -R $OUTPUT_LOG

grep 中的突出显示通过插入非 ASCII 控制字符来更改终端中的格式。

我认为 vi 不会将这些字符解释为颜色控制(因为它有自己的语法高亮系统)。

如果你真的想走那条路,请参阅How to get Vim to highlight non-ascii characters?

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 2017-10-04
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 2016-06-16
    • 2010-10-31
    • 2013-04-07
    • 2014-03-07
    相关资源
    最近更新 更多