|
While-loop with awk
How to make a while-loop with awk.
Lets say I have a variable number of columns:
1 4 3
2 4 4
3 5 3
Now I want to add all elements of column 1, 2 and 3 and then divide them by the number of elements in each.
columns= the number of columns which is given as an argument to my script
i = the column we are adding for the moment
this is some pseudo code for what I want to be done:
while [columns > 0]
do
awk '{sum+=$i} END {print sum/NR "\t"}'
i++
column--
done
So when executed the finished result will be:
2 6.5 3.333333
But I don't get my while loop to function. Please help me. This is my code:
#############################
while [ "$columns" -gt 0 ]
do
awk_cmd=`awk -v i=$1 '{sum+=$i} END {print sum/NR}'`
echo "$data | $awk_cmd"
i=`expr $i + 1`
columns=`expr $columns - 1`
done
#############################
|