|January 19th, 2009|
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:
These let me do things like: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"
user@host /path/to/cwd $ echo hello there | blue_grep ll | yellow_grep ereThe 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:
I've found multiple colors too much work, though, and so just have:alias highlight-grey="grey-grep -C 10000" alias highlight-red="red-grep -C 10000"
alias highlight="grep --color=always -C 10000"
Comment via: facebook
- Preparing for our CD
- John Wesley on Earning to Give
- Against Singular Ye
- Artificial Recordings and Unrealistic Standards
- Belief Listing Project: Giving