A command line tool to highlight terms
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
screenshots Added gif from ascii cinema Aug 27, 2015
LICENSE.txt Update LICENSE.txt Sep 22, 2013
README.asciidoc Updated hack install url Mar 23, 2017
h.sh Fixes broken which behavior in zsh Feb 9, 2016


hhighlighter (or just h)

A tiny utility to highlight multiple keywords with different colors


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 installation

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

Installation Instructions

h is implemented as a function in bash.

You can install it in one of these ways:

  • copy and paste h() function in your ~/.bashrc

  • configure your ~/.bashrc to load the external script with . /path/to/h.sh

Platform Specifics

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


h supports overriding of its default colors via 2 environment variables: H_COLORS_FG and H_COLORS_BG.

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:

RGB Colors Map
Figure 1: RGB Map, taken from https://github.com/jbnicolai/ansi-256-colors


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


Default colors
echo "abcdefghijklmnopqrstuvxywz" | h   a b c d e f g h i j k l
Invert colors
echo "abcdefghijklmnopqrstuvxywz" | h -n   a b c d e f g h i j k l
Support for tail in follow mode
tail -F | h keyword1 keyword2
Case Insensitive
mvn clean install | h -i failure success
Disable regular expression
tail -F my.log | h -d org.apache.camel
Highlight multiple keys with the same color (using regexp syntax)
echo abcd | h 'b|d'





Custom Colors


Ascii Cinema Gif
Ascii Cinema GifAscii Cinema Gif
Ascii Cinema Demo
Ascii Cinema: Ascii Cinema