Skip to content
Related Articles

Related Articles

Average of given numbers in Bash
  • Last Updated : 31 Jan, 2018


Program to compute average in bash.

Examples:

Input :  1 2 3 4 5
Output : average : 3.0

Input :  1 2 3 4 10
Output : average : 5.0

Program to compute average is simple. It is also called as Mean.
Formula:

 
(sum of all elements) / (total no. of elements)

The extension for bash programs end with .sh. Elements are stored in array which are traversed in while loop to calculate the sum. It is recommended to understand Arrays in Shell.
The avg is caculated using bc command. bc command is used for command line calculator.
Programs in bash is executed as follows :

sh program_name.sh
     OR
./program_name.sh




# Total numbers
n=5
   
# copying the value of n
m=$n
   
# initialized sum by 0
sum=0
   
# array initialized with
# some numbers
array=(1 2 3 4 5)
   
# loop until n is greater
# than 0
while [ $n -gt 0 ]
do
    # copy element in a 
    # temp variable
    num=${array[`expr $n - 1`]}    
   
    # add them to sum
    sum=`expr $sum + $num`
   
    # decrement count of n
    n=`expr $n - 1`
done
   
# displaying the average 
# by piping with bc command
# bc is bash calculator
# command
avg=`echo "$sum / $m" | bc -l`
printf '%0.3f' "$avg"

Output :

3.0
My Personal Notes arrow_drop_up
Recommended Articles
Page :