grep - highlight inside a highlight
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!
Related videos on Youtube
iR0Nic
Updated on September 18, 2022Comments
-
iR0Nic over 1 year
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?