Open In App

Average of given numbers in Bash

Last Updated : 04 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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

The program to compute the average is simple. It is also called Mean

Formula:

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

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

Programs in bash is executed as follows:

sh program_name.sh
     OR
./program_name.sh

Example:

# 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

Time complexity: O(n) where n is given total numbers
Auxiliary space: O(1) 


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads