以下のコードでやりたいことは、次のような行でファイルを解析することです
CSC3320,SYSTEM LEVEL PROGRAMMING,3,1,A
CSC3210,ASSEMBLY LEVEL PROGRAMMING,3,1,B
等級の合計 * 単位時間数 / 単位時間数の合計に基づいて GPA を計算します。分子と分母を別々に計算し、2 つを除算して出力を出力することで、これを実行しようとしています。
calculate(){
awk -F, '
numerator=0;
denominator=0;
if($4==1) {
if($5=="A"){
numerator+=(4*$3);
denominator+=$3
} else if ($5 == "B"){
numerator+=(3*$3);
denominator+=$3
} else if ($5 == "C"){
numerator+=(2*$3);
denominator+=$3
} else {
}
}
GPA = numerator/denominator
printf "Your GPA is %d\n" GPA
'my_course.txt
}
私が得るのは、というエラーメッセージです
awk: 4 行目: 構文エラー if
awk: 18 行目: printf またはその付近の構文エラー
私の本では if else if ステートメントについて詳しく説明していません。では、これを入力した方法の正確なところは何ですか?