2012-12-02 66 views
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這裏

我的問題是,我不能將thoose數字(var3中)放入不同的變量中,因爲我需要一個腳本來寫出這些數字的平均值。這樣

回答

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命令來完成。

相關問題