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