Spice up your Terminal with colored grep pattern results

Earlier, I came across a post by Garry Dolley, which he shows how to acheive colorized grep matches in bash. I recall having color matches when I used to use Linux on a daily basis as my primary work environment, but haven’t gotten around to setting this up on my MacBook, which is where I do almost all of my development work.

Before

If you don’t already have colors, a grep in your terminal might look something like the following screenshot.

While, I have a very small output here, this gets much crazier when you’re using egrep across an entire project. It’s hard to scan through all of the results for the inline pattern matches.

So, taking Garry’s suggestion (for bash), I did something similar with my favorite shell, Z shell.

Add the following to your ~/.zshrc file to begin experimenting with the colors.

```css
export GREP_OPTIONS='--color=auto' 
  export GREP_COLOR='1;36'
## After

With the new variables defined in my `.zshrc`, I can now start to see
colors showing up in my grep results.

![](http://myskitch.com/robbyrussell/grep_with_colors-1-20071006-104732.jpg)

Pretty cool, huh?

## Variants

To save you the trouble of trying tons of combinations yourself, which I
suspect you'll do anyways, here are some other variants.

### Blinking

If you change the first number in `GREP_COLOR` to **5**, you're matches
will **blink**!

You'll have to experiment with this yourself as I'm not going to make a
video for you. ;-)
```text
```css
export GREP_COLOR='5;35'

```

Inverted Colors

You can also invert the colors so that the background color changes on your pattern matches.

For example:

To achieve this, you can set the first number in GREP_COLOR to 7.

…and so much more

I decided to write a quick and ugly ruby script to iterate through the color combinations that I was trying.

Anyhow, I’ll leave you on that note. If you figure out how to do any other fun things with grep colors, do let me know. :-)

Hi, I'm Robby.

Robby Russell

I run Planet Argon, where we help organizations keep their Ruby on Rails apps maintainable—so they don't have to start over. I created Oh My Zsh to make developers more efficient and host the Maintainable.fm podcast to explore what it takes to build software that lasts.