awk统计文件中某关键词出现次数

1、统计文件test.txt中第2列不同值出现的次数

awk '{sum[$2]+=1}END{for(i in sum)print i" "sum[i]}'  test.txt

如文件test.txt第2列的值为"00""01"或"02",执行结果如下:

[root@localhost cc]# cat test.txt
a 00
b 01
c 00
d 02
[root@localhost cc]# awk '{sum[$2]+=1}END{for(i in sum)print i" "sum[i]}' test.txt
00 2
01 1
02 1
[root@localhost cc]#

2、如只统计文件test.txt中第2列"00"或"01"出现的次数,命令可写为

awk '{if($2=="00") ++sum1;if($7=="01") ++sum2}END{print "00"" "sum1" ""01"" "sum2}' test.txt

执行结果如下:

[root@localhost cc]# awk '{if($2=="00") ++sum1;if($2=="01") ++sum2}END{print "00"" "sum1" ""01"" "sum2}' test.txt
00 2
01 1

《完》

原文地址:https://www.cnblogs.com/chongchong88/p/6021970.html