9

次のファイルから、MATH で始まる行の a、b、c の最大値と最小値をどのように見つけますか?

TITLE     a       b       c
MATH      12.3    -0.42   5.5
ENGLISH   70.45   3.21    6.63
MATH      3.32    2.43    9.42
MATH      3.91    -1.56   7.22
ENGLISH   89.21   4.66    5.32

1 つのコマンド ラインだけにすることはできません。BEGIN 関数と END を使用したスクリプト ファイルである必要があります。

間違った最小値を取得し、プログラムを実行すると最大の文字列を取得してしまいます。助けてください!

列 a のコードは次のとおりです。

BEGIN { x=1 }
{
 if ($1 == "MATH") {
        min=max=$2;
        for ( i=0; i<=NF; i++) {
                min = (min < $i ? min : $i)
                max = (max > $i ? max : $i)
        }
 }

}

END { print "max a value is ", max, " min a value is ", min }

ありがとう!

4

4 に答える 4