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 でのこのような 1 つの方法:

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 に答える