awk의 첫 번째 레코드 무시

awk의 첫 번째 레코드 무시
BEGIN{FS=","; t1 = 0; n = 0;  avg = 0; sum=0;  printf("%-10s %9s\n%-10s %9s","Name", "Average", "----", "-------") }

{
    if ($3 > 0){
        t1 += $3;
        n++;
    }
    sum = 0;
    if($3 > 0 && $4 > 0 && $5 >0){
        sum = $3 + $4 + $5;
        avg = sum / 3;
    }
    else if($3 < 0 && $4 > 0 && $5 >0){
            sum = $4 + $5;
        avg = sum / 2;
    }
    else if($3 > 0 && $4 < 0 && $5 >0){
        sum = $3 + $5;
        avg = sum / 2;
    }
    else if($3 < 0 && $4 > 0 && $5 < 0){
        sum = $3 + $4;
        avg = sum / 2;
    }

    printf("\n%-10s %7.2f", $1, avg);
}
END{
    printf("-------------------\nAverage for Test ! : %f.2", (t1/n));

    }

본문 부분 명령은 첫 번째 레코드를 무시해야 합니다.

답변1

블록에 레코드 번호가 매겨진 테스트를 추가하면 됩니다.

NR > 1 {
    if ($3 > 0){
        t1 += $3;
        n++;
    }
    ...

관련 정보