• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Colored grep

    January 19th, 2009
    programming, shell  [html]
    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:

    Fireside Friday, January 22, 2021

    It’s the first week of classes, so fireside this week. Next week, we’ll dive into a short series looking at the question of the ‘universal warrior,’ the idea – too often repeated – that there is either a single consistent experience or personality true to…

    via A Collection of Unmitigated Pedantry January 22, 2021

    Poor Rich Countries and Isomorphic Mimicry

    A curious pattern can be found in subway construction costs around the world, based on GDP per capita. On the one hand, poor countries that have severe cultural cringe, such as former colonies, have high construction costs, and often the worst projects ar…

    via Pedestrian Observations January 21, 2021

    What is going on in the world?

    Crossposted from world spirit sock puppet. Here’s a list of alternative high level narratives about what is importantly going on in the world—the central plot, as it were—for the purpose of thinking about what role in a plot to take: … Continue reading →

    via Meteuphoric January 17, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact