有一个任务,需要我查出日志文件里,访问了a4.shuqi.com域名的来源
zcat *.gz | awk '$9=="a4.shuqi.com"{print$0}' > aaa cat aaa | awk '{print $16}' > refer.txt cat refer.txt | awk '{a[$1]++} END{for(i in a) print i,a[i]}' | sort -k 2nr > refer_new.txt
总共查出36968条符合要求的日志,再排查他们的来源,但是有35745显示无来源,我去,这怕是有问题,因此我在我来源字段($16)前后进行探测,看看自己是否选错字段,或者日志文件是否有多种类型,以至于在这个位置不是来源
cat aaa | awk '$16==""-""{print $15}' > error.txt cat aaa | awk '$16==""-""{print $17}' > error.txt cat aaa | awk '$16==""-""{a[$17]++} END{for(i in a)print i,a[i]}' | sort -k 2nr > error.txt
$15都是数字,因此无疑问,$17有显示为http://www.haodewap.com的字段,但是数量不多,23条,其他都是UA信息,再把这23条的详细日志打出来看
cat aaa | grep "haodewap.com" | wc -l cat aaa | grep "haodewap.com"
检查一遍,原来应该是UA的部分填上了这个网址,应该是访问者有意为之,无异常,因此才可以确认那35745真的无来源
Apr 15 23:46:13 ppcn-11-186 nginx: 1397576773.634 2014-04-15T23:46:13+08:00 117.135.163.240 a4.shuqi.com - "GET /bc_rank.php?session=guest1357150964887&v=2&uat=10966&cid=4&item=allclick&page=3 HTTP/1.1" 200 14406 "-" "http://haodewap.com/ 1.3" "-" - 0.039