2

所以我有一个文件,其中包含这样的行:

Kiss Bea 3 4 5 4
Nagy Katalin 4 5 2 3

我试过这个:

  read name  
        while read var1 var2 var3
        do
            if [ $name == $var1 ]
            then 
                echo $var3
            fi
        done < test.txt

name="Kiss" 所以var3= 3 4 5 4在这里

我的问题是我不能将这些数字(在 var3 中)放入不同的变量中,因为我需要一个脚本来写出这些数字的平均值。

4

1 回答 1

0

在 bash 中这样的一种方式:

read name
while read var1 var2 var3
do
    if [ $name == $var1 ]
    then
        echo "scale=2;(${var3// /+})/4" | bc
    fi
done < test.txt

用 '+' 替换 var3 中的所有空格,并使用 bc 命令完成平均值。

于 2012-12-02T11:44:17.953 回答