4つの数字の平均を求めますawkスクリプト

4つの数字の平均を求めますawkスクリプト

入力した4つの数字を追加するスクリプトを作成しました。例:

./myawkaverage 8 7 9 4 
28

この4つの数字を追加し、結果が次のように平均を表示するには、スクリプトが必要です。

例:

./myawkaverage 8 7 9 4
The average is 7

負の数を許可するスクリプトも必要です。

これまで私のスクリプトは次のようになりました。

#!/bin/bash
echo $1 $2 $3 $4 | awk '
  {
    print sum3($1, $2, $3, $4)
  }
  function sum3(a, b, c, d) {
    return (a + b + c + d)
  }'

ベストアンサー1

エラーを確認し、カスタムawk関数を使用せずに、次のようにスクリプトを簡素化できます。

#!/bin/bash
echo $1 $2 $3 $4 | awk '{sum=0; for(i=1; i<=NF; i++) sum += $i; print sum}'

または、常に数値を出力する必要がない場合(0でも):

#!/bin/bash
echo $1 $2 $3 $4 | awk '{for(i=1; i<=NF; i++) sum += $i; print sum}'

おすすめ記事