There is a simlar question in Preserve ls colouring after grep’ing but it annoys me that if you pipe colored grep output into another grep that the coloring is not preserved.
As an example grep --color WORD * | grep -v AVOID
does not keep the color of the first output. But for me ls | grep FILE
do keep the color, why the difference ?