如何从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命令进行平均