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

如何从shell中包含字符串和数字的行中提取数字?,shell,split,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 读取名称

因此,我得到了一个包含如下行的文件:

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
读取名称
当读取var1 var2 var3时
做
如果[$name==$var1]
然后
echo$var3
fi
完成
name=“Kiss”
所以这里
var3=3 4 5 4


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

在bash中,有一种方法是这样的:

read name
while read var1 var2 var3
do
    if [ $name == $var1 ]
    then
        echo "scale=2;(${var3// /+})/4" | bc
    fi
done < test.txt
读取名称
当读取var1 var2 var3时
做
如果[$name==$var1]
然后
echo“scale=2;(${var3//+})/4”|bc
fi
完成
在var3中将所有空格替换为“+”,并使用bc命令进行平均