AWK,计数变量不return 0

AWK, count variable does not return 0

所以我有一个程序几乎在 Unix/Linux 中完成使用 AWK!我必须 return 计数、总和、最大值、最小值和平均值。该程序在找到数字时起作用。但是,如果没有找到数字并且计数不会迭代......我不会返回 0。我会返回类似“1a2,5”的内容。 这是我的代码,

#! /bin/awk -f

{
sum += 
}

/[0-9]+/{ 


if (NR >= 1){
    if ([=11=] != 0 &&  NF == 1){
        if ([=11=] !~ /[A-Za-z]/){

             min = (NR==1 || <min ?  : min)
             max = (NR==1 || >max ?  : max)
             mean = sum/NR

        count+=1  
        }
    } else if ([=11=] == 0)
    {exit(0)
}
}
  }


END{
printf("# items: %d \n",count)
printf("Total:   %lf\n", sum)
printf("Maximum: %lf\n", max)
printf("Minimum: %lf\n", min)
printf("Average: %lf\n", mean)
}

我 forgetting/needs 是什么要更改的,所以如果没有找到,可以 return 计数为 0。谢谢

#! /bin/awk -f

# Nothing to do
NF > 1 {
    next
}

# now [=10=] == 

# Only with numbers
# ~ /^[0-9]+$/ {
# or
 ~ /^[0-9]+(\.[0-9]+)?$/ {
    # exit if zero found
    if ( == 0) {
        exit 0
    }
    # compute
    sum   += 
    min    = (NR==1 || <min ?  : min)
    max    = (NR==1 || >max ?  : max)
    mean   = sum/NR
    count += 1
}

END {
    printf("# items: %d \n", count)
    printf("Total:   %lf\n", sum)
    printf("Maximum: %lf\n", max)
    printf("Minimum: %lf\n", min)
    printf("Average: %lf\n", mean)
}