如何从包含shell中的字符串和数字的行中获取数字?

时间:2012-12-02 11:18:04

标签: shell split

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

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在这里

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

1 个答案:

答案 0 :(得分: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命令完成平均值。