Você pode mover a lógica da seção regra para uma ação
awk '{total=$3+$4+$5; per=total/3; if (per>80) print}' stud
2 George 90 95 82
4 Dennie 89 92 90
Observe que isso tenta avaliar aritmeticamente os cabeçalhos de coluna - o que "funciona" porque, em awk
, os campos não numéricos são tratados como zero quando você tenta fazer aritmética neles - mas faria com que a linha de cabeçalho fosse impressa se, por exemplo, você alterou o teste para per<80
. Melhor IMHO seria ignorar explicitamente a linha de cabeçalho usando uma ação next
para a regra NR==1
awk 'NR==1 {next} {total=$3+$4+$5; per=total/3; if (per>80) print}' stud
2 George 90 95 82
4 Dennie 89 92 90
ou, se você quiser o cabeçalho, imprima-o explicitamente
awk 'NR==1 {print; next} {total=$3+$4+$5; per=total/3; if (per>80) print}' stud
Studid StudName Asp.Net DBMS Unix
2 George 90 95 82
4 Dennie 89 92 90