shell awk统计重复个数

awk是一个很强大的工具,一个常见的用法就是统计一个文件中重复的列值的个数,这也是面试时面试官经常问的一个问题。

举个例子:

有个文件file.log的内容如下:

http://www.sohu.com/aaa     
http://www.sina.com/111   
http://www.sohu.com/bbb   
http://www.sina.com/222   
http://www.sohu.com/ccc   
http://www.163.com/zzz    
http://www.sohu.com/ddd   

统计文件中每个域名出现次数,命令如下

awk -F / '{a[$3]++} END {for(i in a){print i,a[i] | "sort -r -k 2"}}' file.log

输出如下:

http://www.sohu.com 4       
http:// www.sina.com 2   
http://www.163.com 1
原文地址:https://www.cnblogs.com/xianzhedeyu/p/5548735.html