I'm running a watch on a command to monitor the number of open connections for a service we're diagnosing. I need to keep an eye on it while doing other work, to help other developers identify when the service is acting up.

The result of the watch is a number between 1 and 5000. I'd like to show the number as green when it's below 500, yellow when its between 501 and 4000, and red for above 4000.

Is there a command which can set the color easily based on the value of my command?

  • I'm not familiar with linux :) "watch" - means show std out in terminal?
    – Maximus
    Jun 19, 2012 at 18:45
  • 1
    @Maximus It's a linux utility which repeatedly executes a command and displays the output in a terminal at a specified interval. watch -n 1 ps aux -- A poor man's process monitor, for example (execute ps aux to list processes every 1 second and print the results). Jun 19, 2012 at 18:51
  • Just to tell you: there is colordiff for all those nasty diff commands. Eg. svn diff |colordiff -> woho! Jun 19, 2012 at 19:31

4 Answers 4


I wrote this small script that I named color:




if [ "$result" -lt "500" ]
        echo -e "\033[$GREEN  $result  \033[0m" ;
elif [ "$result" -ge "500" -a "$result" -le "4000" ]
        echo -e "\033[$YELLOW  $result  \033[0m" ;
        echo -e "\033[$RED  $result  \033[0m" ;

You can now run:

watch --color ./color <your command here>

Make sure your command just output a number. Else you got to handle the output correctly and assign it to result variable.


CCZE may be what you're looking for:
man page over at Ubuntu manuals

enter image description here


On Debian-based systems, you can easily install it via

sudo apt-get install ccze


Use it like this:

tail -f /var/log/syslog | ccze


If the default coloring behavior of ccze is not to your liking, you can extend the functionality through plugins. Sadly, I have never written any as I'm served well with the default behavior, so I can only direct you to the ccze-plugin man page.


I think you can color the man pages, however (after running several Google searches, I don't think what you're looking for exists.


You could use tput to to put some color in your life. Examples are

tput setf 3 # textcolor green
tput setf 6 # red
tput sgr0 # back to normal
echo "$(tput setf 6)$line$(tput setf sgr0)"

This and more fun with tput on http://www.ibm.com/developerworks/aix/library/au-learningtput/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .