Si desea el promedio de todos los números en todas las columnas, esto es simple
awk ' { for (i=1;i<=NF ;i++){ sum+=$i;num++} }
END{ print(sum/num) } ' infile
Si desea el promedio por columna, solo mantenga un registro del número máximo de columnas:
awk ' {for (i=1;i<=NF ;i++){ if(maxF<NF){maxF=NF};sum[i]+=$i;num[i]++} }
END{for (i=1;i<=maxF;i++){ print(i,sum[i]/num[i]) } } ' infile
Как насчет использования массива?
#! /bin/bash
myeval () {
for command in "$@" ; do
$command
done | other_func
}
myeval 'echo Apple' 'echo Banana'