Linux下搜索指定目录下特定字符串并高亮显示匹配关键词

2012-11-14 5,230次浏览 发表评论

例如:

find ./ -name "*" | xargs grep --color=auto "mysql"

这是查找当前目录下所有文件中包含mysql字符串的文件,并且高亮显示mysql关键词。

而auto则只在输出到终端时才加上颜色。

可以在.bashrc里加上:

export GREP_OPTIONS='-color=auto'

来实现高亮匹配,具体用什么颜色,可以通过:

export GREP_COLOR='a;b' #默认是1;31,即高亮的红色

来设置,其中:

a可以选择:【0,1,4,5,7,8】

  • 0 关闭所有属性
  • 1 设置高亮度
  • 4 下划线
  • 5 闪烁
  • 7 反显
  • 8 消隐

b可以选择:【30-37或40-47】

  • 30 黑色
  • 31 红色
  • 32 绿色
  • 33 黄色
  • 34 蓝色
  • 35 洋红
  • 36 青色
  • 37 白色
  • 30 ~ 37 设置前景色
  • 40 ~ 47 设置背景色

4条评论

  • andkylee 2012年11月14日 17:27 回复

    这个export GREP_COLOR=’a;b’怎么用呢?
    我设置: export GREP_COLOR=’5;31’,想让字体红色闪烁;但是不起作用。

    • 奔跑 2012年11月16日 09:49 回复

      呃。是不是终端有问题。我是可以的!

      • andkylee 2012年11月16日 10:54 回复

        恩。可以了。 grep的时候需要加入 –color=always 或者 –color=auto

        • 奔跑 2012年11月16日 12:26 回复

          呵呵,那就OK了。

您可以在这里写下评论