有时我们需要统计文件的某列中某些词出现的次数,可以在Linux下使用sort | uniq -c,那用awk怎么操作呢?
示例文件test.txt
a 00
b 01
c 00
d 02
awk '{sum[$2]+=1}END{for(i in sum)print i"\t"sum[i]}' test.txt
运行结果:
00 2
01 1
02 1
如只统计文件test.txt中第2列"00"或"01"出现的次数,命令可写为
awk '{if($2=="00") ++sum1;if($7=="01") ++sum2}END{print "00""\t"sum1"\n""01""\t"sum2}' test.txt
执行结果如下:
00 2
01 1
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!