0
零個值我計算平均得分如下:司通過在AWK
average_score=$(awk "BEGIN {printf \"%.2f\",${sum_of_score}/${number_of_lines}}")
其中sum_of_scores每個greped ID計算如下:
sum_of_score=$(grep 271712:E1 M10.6.txt | awk '{s+=$5} END {print s}')
number_of_lines=$(grep 271712:E1 M10.6.txt | awk 'END{print FNR}')
然而,在倍sum_of_score的值和/或number_of_lines可能爲零,因此我得到一個錯誤:
awk: BEGIN {printf "%.2f",/0}
awk: ^unterminated regexp
awk: cmd. line:1: BEGIN {printf "%.2f",/0}
awk: cmd. line:1: ^unexpected newline or end of string
我該如何處理這個錯誤?
你是基於shell和awk的基礎。你完全錯過了使用awk的觀點,並且你不適當地使用shell。至少閱讀由Arnold Robbins撰寫的第4版Effective Awk Programming一書的前幾章,您將永遠不會再編寫這樣的代碼。請參閱@ TomFenech的腳本來計算平均值,以查看解決此問題的正確方法。 –
謝謝埃德我會確保我這樣做。 – AishwaryaKulkarni