awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk '{print $3}' access.log |sort|uniq -c|sort -rn|head -n 50
$3变量是指整条记录。$1表示当前行的第一个域,$2表示当前行的第二个域,......以此类推。
access.log 查分析的日志文件
sort排序命令,默认从小到大
uniq -c 去掉重复的意思
head -n 50 显示前50行
执行结果,前面是出现次数,后面是IP:
557 183.202.31.217
538 223.101.135.194
527 120.208.215.62
521 112.99.83.232
515 112.99.82.166
513 113.3.178.127
507 112.39.133.170
495 118.78.250.78
492 60.221.133.251
488 183.200.38.210
487 223.101.135.62
485 113.230.131.85
484 112.99.80.130
482 43.225.208.238