好像awk的语法里边没有类似str[i],这种提取字符串单个字符的语法?

这里只好用substr(...)来提取。

cat nowcoder.txt | awk '
BEGIN{
 sum=0;
}
{
 count=0;
 for(i=1;i<length($0);i++){
  n=substr($0,i,1);
  if(n>0&&n<6){
   sum++;
   count++;
  }
 }
 print "line" NR,"number:",count;
}
END{
 print "sum is",sum;
}
'