Celeb Glow
general | March 24, 2026

grep - highlight inside a highlight

I'm facing difficulties while trying to multicolor-highlight matches using grep's color environment.

After I stumbled across Colored grep, I found it very useful to highlight multiple pattern in a single run. So I set up the alias' as told, but then I came across following problem:

echo "Im looking for KeyWords" | grep 'KeyWords' --color=always | green-grep 'Word'

results in

Im looking for Key Words (italic=red, bold=green)

where the "s" is not highlighted red, because grep sets the color environment back to normal after the end of a match.

Is there any way to realize this with grep, or am I facing a wall?

2 Answers

You haven't hit a wall, but you've hit a |! (So unfortunately, no, you cannot do that without a major re-write of the grep source code.)

However, I like the idea, so if you want, feel free to file a bug at the FSF, or if you don't want to go through the effort, I'll file the bug for you! (just drop a comment)


Fantastic question! I've already added:

alias grey-grep="GREP_COLOR='1;30' grep --color=always"
alias red-grep="GREP_COLOR='1;31' grep --color=always"
alias green-grep="GREP_COLOR='1;32' grep --color=always"
alias yellow-grep="GREP_COLOR='1;33' grep --color=always"
alias blue-grep="GREP_COLOR='1;34' grep --color=always"
alias magenta-grep="GREP_COLOR='1;35' grep --color=always"
alias cyan-grep="GREP_COLOR='1;36' grep --color=always"
alias white-grep="GREP_COLOR='1;37' grep --color=always"

to my bash.bashrc file!

0

This way works only if the grep functions return a single line, otherwise the piping cancel susbequent lines I was trying to use egrep with five regex expression, whith espressions in different line in original file (it's a log with a lot of info); so far i can change the colour, but not get a different color for every regex filter:

cat logfile egrep 'regex1|regex2|regex3|regex4|regex5'

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy