>  기사  >  데이터 베이스  >  按ip统计访问日志top

按ip统计访问日志top

WBOY
WBOY원래의
2016-06-07 15:31:041103검색

命令1: Shell代码 time awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -5 78129 192.168.13.166 75165 192.168.12.52 58657 192.168.12.199 54146 192.168.13.183 34310 192.168.13.181 real 0m5.849s user 0m5.566s sys 0m0.285s 命令2

  命令1:

  Shell代码

  time awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -5

  78129 192.168.13.166

  75165 192.168.12.52

  58657 192.168.12.199

  54146 192.168.13.183

  34310 192.168.13.181

  real 0m5.849s

  user 0m5.566s

  sys 0m0.285s

  命令2:

  Shell代码

  time awk '{a[$1]++}END{for(i in a){printf("%d\t%s\n",a[i],i)}}' access.log | sort -nr | head -5

  78129 192.168.13.166

  75165 192.168.12.52

  58657 192.168.12.199

  54146 192.168.13.183

  34310 192.168.13.181

  real 0m0.626s

  user 0m0.549s

  sys 0m0.080s

  以上是两个统计top命令,对比结果一目了然。命令1方便,效率低;命令2麻烦,效率高。

  之所以想到对比这两个命令,源于一次面试,当时我的答案是命令2(在这之前一直习惯用命令2,确实没用过命令1)。对方随即对我给出的答案表示了质疑。首先质疑答案的正确性“这种方式不对吧?”。当我解释说我工作中确实这么用过的时候,又质疑了这个命令的效率“应该有更高效的方法!”。

  我其实要说的是,面试有时候不一定能考察出真正的问题,呵呵。

【责编:peter】

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Oracle树形查询다음 기사:Angel 2D