Colored grep

January 19th, 2009
programming, shell, tech
I figured out some cool stuff I can do with colored grep. I often want to, when grepping, see the bit that matched in a different color. I knew grep --color would do this, but I'd wanted to be able to do this with multiple greps and multiple colors. Then I noticed the GREP_COLOR environment variable and the grep --color=always options. So I made the aliases:
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"
These let me do things like:
user@host /path/to/cwd $ echo hello there | blue_grep ll | yellow_grep ere
hello there
The primary use for me is when I want to look for something and don't really know what it is yet. Often this will include wanting to find things that are near each other, but I'm not sure how near. The color helps immensely with visual grepping.

The main downside to this method is that I have to specify the color. What I really want to have is something where multiple calls to color grep in the same pipe automagically use different colors.

Update 2012-09-25: If you want to just highlight things in the output, you can run these with a -C 10000 argument. Or define some more commands:

alias highlight-grey="grey-grep -C 10000"
alias highlight-red="red-grep -C 10000"
I've found multiple colors too much work, though, and so just have:
alias highlight="grep --color=always -C 10000"

Comment via: facebook

Recent posts on blogs I like:

Against Lyman Stone On Animal Welfare

Demographer Lyman Stone writes:

via Thing of Things March 21, 2025

Product in the age of AI

We’re seeing AI features pop up in every product we use. Slack, Google Drive, etc.

via Home March 18, 2025

How I've run major projects

focus • maintain a detailed plan for victory • run a fast OODA loop • overcommunicate • break off subprojects • have fun • bonus content: my project management starter kit

via benkuhn.net March 16, 2025

more     (via openring)