我记得之前去XX网面试的那个面试题是这样的:有个apache.log 文件文本内容如下:
======================
[niewj@centSvr ~]$ cat apache.log
http://www.163.com/1.html
http://www.sohu.com/index.html
http://www.sina.com/index.html
http://www.sohu.com/3.html
http://www.163.com/2.html
http://www.163.com/3.html
======================
要求统计出结果如下的内容:
======================
3 www.163.com
1 www.sina.com
2 www.sohu.com
======================
我找到方法了,当初请教各位大神,各位给的awk/sed什么的,把我吓呆了,我用cut/sort/uniq实现了:如下:一步一步看走:
===========================================================
[niewj@centSvr ~]$ cut -d/ -f3 apache.log
www.163.com
www.sohu.com
www.sina.com
www.sohu.com
www.163.com
www.163.com
[niewj@centSvr ~]$ cut -d/ -f3 apache.log |uniq -c
1 www.163.com
1 www.sohu.com
1 www.sina.com
1 www.sohu.com
2 www.163.com
[niewj@centSvr ~]$ cut -d/ -f3 apache.log |sort |uniq -c
3 www.163.com
1 www.sina.com
2 www.sohu.com
结果便出来了。好强大,学了都是自个的!!!
本文介绍了如何通过简单的shell命令(cut, sort, uniq)来解决从Apache日志文件中统计特定域名访问次数的问题。通过逐步解析原始日志文件并应用这些命令,最终得到按访问频率排序的结果。
1131

被折叠的 条评论
为什么被折叠?



