Easily colorize logs or commands output using patterns.
rainbow [ --COLOR=PATTERN ... | --conf CONF ] COMMAND
Just prepend rainbow
with COLOR=PATTERN
associations to your
command, for example:
Tail some log file with lines containing
ERROR
in red:rainbow --red='.*ERROR.*' -- tail -f /var/log/my.log
Ping Google with IP addresses colorized in yellow:
rainbow --yellow='\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' -- ping www.google.com
Rainbow can also read from STDIN instead of providing a command:
tail -f /var/log/my.log | rainbow --red='.*ERROR.*'
Rainbow can read COLOR=PATTERN
associations from config files, which
is the most common way to use it. It automatically uses the config file
if there is one named after the command name in ~/.rainbow
, or a builtin one:
Colorize the
diff
command output using the builtin config:rainbow diff file1 file2
Start JBoss application server with colorized logs:
rainbow --config=jboss -- jboss/bin/run.sh run
The syntax for writing configs is very simple. See the builtin configs for examples.
- Ubuntu/Debian based distributions: coming soon.
- Arch Linux : AUR/rainbow / AUR/rainbow-git.
You can build from sources this way:
git clone git://github.com/nicoulaj/rainbow.git cd rainbow sudo python setup.py install
This project is a fork of Linibou's colorex.
It is is released under the terms of the GNU General Public
License. See COPYING
for
details.