#!/bin/sh # FriendlyFileSize.sh # 2003-10-21 # Chieh Cheng # http://www.CynosureX.com/ # Output the file size in friendly format # GNU General Public License (GPL), Version 2, June 1991 calculate () { size=$1 KiB=1024 MiB=`CalcExp.sh 1024 2` GiB=`CalcExp.sh 1024 3` TiB=`CalcExp.sh 1024 4` PiB=`CalcExp.sh 1024 5` EiB=`CalcExp.sh 1024 6` # Can't support these two numbers yet # ZiB=`CalcExp.sh 1024 7` # YiB=`CalcExp.sh 1024 8` if [ $size -ge ${KiB} ] then if [ $size -ge ${MiB} ] then if [ $size -ge ${GiB} ] then if [ $size -ge ${TiB} ] then if [ $size -ge ${PiB} ] then if [ $size -ge ${EiB} ] then size=`expr $size / ${EiB}` echo "$size" EiB else size=`expr $size / ${PiB}` echo "$size" PiB fi else size=`expr $size / ${TiB}` echo "$size" TiB fi else size=`expr $size / ${GiB}` echo "$size" GiB fi else size=`expr $size / ${MiB}` echo "$size" MiB fi else size=`expr $size / ${KiB}` echo "$size" KiB fi else echo "$size" B fi } usage () { scriptname=`echo $0 | sed s/\\\\/.*\\\\///g` echo " Usage: $scriptname [bytes]" } if [ $# -gt 1 ] then usage else if [ $# -eq 0 ] then read size if [ "${size}" = "" ] then usage else calculate $size fi else size=$1 calculate $size fi fi