Write Your Own CPU Meter in Bash

Write Your Own CPU Meter in Bash

Here’s a fun little project that is a pretty good combination of array use and pattern manipulation.

Screenshot of Bash CPU Meter
Bash CPU Meter
function get_mhz() {
   while read line; do
      if [[ $line =~ cpu\ MHz ]]; then
         local hunks=(${line})
         local ahz=(${hunks[3]})
         local bars=$(( (${ahz%%.*} * (${COLUMNS} - 12) )/3500))
         printf "%s:%${bars}s\n" $ahz '=' | tr ' ' '=' 
   done < /proc/cpuinfo
while [[ 1 = 1 ]]; do
   stty_line=(`stty size`)
   get_mhz | sort -rn 
   echo ""
   sleep 1

I could go on and on about it, but I’d rather you just ask me questions.

Jed Reynolds
Jed Reynolds has been known to void warranties and super glue his fingers together. When he is not doing photography or fixing his bike, he can be found being a grey beard programmer analyst for Candela Technologies. Start stalking him at https://about.me/jed_reynolds.

1 thought on “Write Your Own CPU Meter in Bash”

Leave a Comment