hhighlighter (or just h)
A tiny utility to highlight multiple keywords with different colors
Idea: Paolo Antinori
Based on: ack - http://beyondgrep.com/ written by Andy Lester
h (hhighlighter is just a name to help search engines) is a really tiny helper script meant to highlight keywords in the output of another *nix command:
h is just a tiny facade in front of ack so you need to install it first.
What is ack?
ack is a tool like grep, optimized for programmers
Designed for programmers with large heterogeneous trees of source code, ack is written purely in portable Perl 5 and takes advantage of the power of Perl’s regular expressions.
ack is part of many major linux distributions so you should use your package manager to install it.
If you want to install ack in a portable way ( at the end ack is just a script ) you do it in this way:
curl https://beyondgrep.com/ack-2.16-single-file > ~/bin/ack && chmod 0755 !#:3
h is implemented as a function in bash.
You can install it in one of these ways:
copy and paste
h()function in your
~/.bashrcto load the external script with
or using Shinichi Okada’s Awesome Package Manager - https://github.com/shinokada/awesome
awesome -i paoloantinori/hhighlighter h
Zsh with Oh-My-Zsh
Just run the following commands
cd $ZSH_CUSTOM/plugins git clone firstname.lastname@example.org:paoloantinori/hhighlighter.git h mv h/h.sh h/h.plugin.zsh
then add h to your plugins variable in your
plugins=( h ... )
h has currently been tested only on bash and zsh on Linux and MacOSX.
h is meant to consume the output of another Linux command via pipe
$ h usage: YOUR_COMMAND | h [-i] [-d] args... -i : ignore case -d : disable regexp -n : invert colors
These variables accepts a comma separated values set of Perl Term::ANSIColor configuration entries. For a table of RGB colors definition check this handy map:
export H_COLORS_FG="bold black on_rgb520","bold red on_rgb025" export H_COLORS_BG="underline bold rgb520","underline bold rgb025" echo abcdefghi | h a b c d
echo "abcdefghijklmnopqrstuvxywz" | h a b c d e f g h i j k l
echo "abcdefghijklmnopqrstuvxywz" | h -n a b c d e f g h i j k l
tailin follow mode
tail -F | h keyword1 keyword2
mvn clean install | h -i failure success
tail -F my.log | h -d org.apache.camel
echo abcd | h 'b|d'