2017-03-04 153 views
0

我有一個awk行來計算可以正常工作的平均值,但是當我把它放到if語句中時,我得到一個語法錯誤,指向帶有「END」的部分。我只想在某些條件滿足的情況下計算平均值。if語句後的多個語句

線計算平均的作品:

awk '{ sum += $2; n++ } END { if (n > 0) print sum/n; }' input.txt

行if語句之後平均值不工作計算:

awk '{if ($1 > 5) { {sum += $2; n++} END { if (n > 0) print sum/n; }}}' input.txt

我想知道哪裏有錯誤是,改變方括號的類型和數量沒有幫助。

+0

爲什麼你認爲你可以把圖案的塊裏面? –

+0

我認爲它的工作原理就好像我只是一起執行它們一樣。 –

+0

你應該刪除你的「bash」標籤,這是一個純粹的awk問題。 – Fred

回答

2

試試這個

awk '$1>5 {sum+=$2; n++} 
    END {if(n) print sum/n}' file