如何计算bash中列的平均值?

时间:2016-05-31 15:10:27

标签: bash shell

我有一个结构为Code;Name;sur;Sur2;CLASS;N1;N2;N3的file.txt。

我想测试CLASS是否存在,如果它存在,则计算N1;的平均值,然后计算N2;的平均值,然后计算N3的平均值,以及最后添加一个选项,一起查看所有内容。使用三个列平均值的总和,这最后一个选项很容易。

这是我到目前为止所得到的

while :; do
    echo -n "Enter a valid CLASS code"
    read codigo
    [ -n "$codigo" ] || continue
    awk -F';' -v c="$codigo" '$5 == c {f=5;next}1;END{exit(f?0:1)}' \
        agenda.txt > agenda.out && break
done

opc1=0

while test "$opc1" !="1"; do
    echo "Check N1(S/N): "
    read opc1
    case $opc1 in
        S|s)
            columaula=`cat agenda.txt | cut -d";" -f6`
            cat agenda.txt | awk '{ total += $columaula; count++ } END { printf "%.0f",total/count }'
            pausa
            ;;
        N|n)
            break ;;
        *)
            echo -n "Por favor elige una opción válida"
            pausa
            ;;
    esac
done

0 个答案:

没有答案
相关问题