- 論壇徽章:
- 2
|
本帖最后由 yinyuemi 于 2011-05-09 02:40 編輯
你的continue用法好像沒(méi)錯(cuò),只是思路不大對(duì),
應(yīng)該是先用for循環(huán)計(jì)算總數(shù),再計(jì)算平均值,之后執(zhí)行if語(yǔ)句,但這時(shí)候的if判斷一定已經(jīng)不在for循環(huán)里的,所以也就不能使用continue了,簡(jiǎn)單點(diǎn)說(shuō)if+continue的形式是用在loop中,不能單獨(dú)使用。- echo '60 80 10
- 80 80 80
- 80 80 81' |
- awk '{sum=ave="";for(i=1;i<=NF;i++) sum+=$i;ave=sum/NF; {if(ave==80) {} else {print NR,ave}}}'
- 1 50
- 3 80.3333
復(fù)制代碼 舉個(gè)例子,如果想利用continue找出不是80的字段,則可以這樣:
- echo '60 80 10
- 80 80 80
- 80 80 81' |
- awk '{for(i=1;i<=NF;i++) if($i==80) continue; else print NR,$i}'
- 1 60
- 1 10
- 3 81
復(fù)制代碼 |
|