Awk count frequency

2020-07-20 15:50发布

问题:

Hey i want to count the amount of data in a certain column in awk.
an example dataset is
2 5 8
1 3 7
8 5 9

and I want to count the frequency of the 5 in the second colum. This is what i tried that didn't work

{
total = 0;
  for(i=1;i<=NF;i++) 
{
  if(i==2)
{if($i==5) {total++;}

}
  printf("%s  ", total);

}
}

回答1:

How about the following:

awk '{ if ($2==5) count++ } END { print count }'


回答2:

awk 'NR == 1 {ind = 0} $2 == 5 {ind++} END {print ind}' testdata.txt


标签: awk