Colored grep |
January 19th, 2009 |
programming, shell, tech |
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"
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.user@host
/path/to/cwd $
echo hello there | blue_grep ll | yellow_grep ere
he
ll
o th
ere
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