>>>>> "DaZZa" == DaZZa  <[email protected]> writes:


DaZZa> free='/<external process>' total='<external process>'

DaZZa> free_var=$(free%.*); total_var=$(total%.*);

DaZZa> per=$(($free_var*100/$total_var));

DaZZa> The "per" figure is the one I'm interested in - percentage free
DaZZa> space.

You need to do the calculation before rounding, and as shell arithmetic
works only in integers, that's a little problematic.

I'd be tempted to write a `normalise' function that converts to
gigabytes.  This one assumes `disk' terabytes of 1000 gigabytes each.

normalise()
{
        case "$1" in
        *.?T) # Terabytes, one dec place
                echo $1 | sed -e 's/T$//' -e 's/\.\([0-9]\)/\100/'
                ;;
        *.??T)# Terabytes, two dec place
                echo $1 | sed -e 's/T$//' -e 's/\.\([0-9][0-9]\)/\10/'
                ;;
        *G) # Gigabytes
                echo $1 | sed 's/G$//'
                ;;
        esac
}


Then do free_var=`normalise $free`
etc.
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to