BASH:在文件中搜索几个关键字并突出显示它们

BASH:在文件中搜索几个关键字并突出显示它们,bash,grep,text-coloring,Bash,Grep,Text Coloring,我想在目录中的所有文件中搜索关键字并将其着色,如: grep -n "keyword1" * --color 现在我想用另一种颜色突出显示所有出现的keyword2和keyword3 我设法 grep -n "keyword1 * |egrep --color "keyword2|keyword3|$' 这将为最后两个关键字着色,但颜色相同。 但是我没有设置几个不同的颜色来处理第一个grep语句中的颜色。我不知道如何正确地设置常量GREP\u COLORS类似的东西可以完成这项工作: gre

我想在目录中的所有文件中搜索关键字并将其着色,如:

grep -n "keyword1" * --color
现在我想用另一种颜色突出显示所有出现的
keyword2
keyword3

我设法

grep -n "keyword1 * |egrep --color "keyword2|keyword3|$'
这将为最后两个关键字着色,但颜色相同。
但是我没有设置几个不同的颜色来处理第一个grep语句中的颜色。我不知道如何正确地设置常量
GREP\u COLORS

类似的东西可以完成这项工作:

grep --color=always -n "keyword1" *  | GREP_COLOR='1;30;40'  grep --color keyword2

谢谢,是的,这是一个双重的或多或少我需要了解所有的选项,所以这就是我现在想出来的:---color=始终保持突出显示的单词,即使通过管道greps,所以如果您要查找3个或更多的单词,您需要设置=始终为所有命令,但最后一个命令-GREP_color='1;30'意味着厚度1(粗体)和颜色30(黑色,如果你使用深色背景,选择不好)我知道GREP_color可以接受更复杂的参数,但我只是找不到详尽的文档(+1到这个答案为好的解决方案顺便说一句)它在
GREP_COLORS
GREP手册
部分有很好的文档记录。根据手册页
GREP\u COLOR
弃用,取而代之的是GREP\u COLORS