#!/bin/sh################################################ ## author:lishujun ## date:2013-4-17 ## use:$./testread.sh 20130425 ## ################################################### load Library ###. common#init_date $1#init_dbcommon_init_stat_date $1stat_date=$statDate### define global variable ###logFile='./logs/'$stat_date'/wap_access_log.'$stat_date'*'dataFile='./data/access_detail_'$stat_date'_small'domain='pp.cn,sou.pp.cn,c0.pp.cn,c1.pp.cn,c2.pp.cn,c3.pp.cn'#domain=$2#domain='shuqi.com,pp.cn,shuqiread.com'ucFlags='fr,ct,ac'### functions ###cleanDataFile(){ echo clean data files... rm $dataFile}makeDataFile(){ #./kcat.sh $logFile | awk \ /www/scripts/stat/kcat.sh $logFile | awk \ -v domain=$domain \ -v ucFlags=$ucFlags \ -v dataFile=$dataFile \ ' function extractField(s) { gsub(/\[/,"",s) gsub(/\]/,"",s) return s } function extractFad(url) { #if(match(url,/\[FAD:/) > 0) if(match(url,/\[FAD:[0-9]+\]/) > 0) { return substr(url,RSTART+5,RLENGTH-6) } return "-" } function parseUrl(url,params) { params["domain"] = "-" if(match(url,/[:\/]/)>0) { params["domain"] = substr(url,1,RSTART-1) } params["path"] = "-" if(match(url,/\/[^\?$]*[\?$]/)>0) { params["path"] = substr(url,RSTART,RLENGTH-1) } params["fr"] = "-" if(match(url,/[&?]fr=[^&$]+/)!=0) { params["fr"]=substr(url,RSTART+4,RLENGTH-4) } params["ct"] = "-" if(match(url,/[&?]ct=[^&$]+/)!=0) { params["ct"]=substr(url,RSTART+4,RLENGTH-4) } params["ac"] = "-" if(match(url,/[&?]ac=[^&$]+/)!=0) { params["ac"]=substr(url,RSTART+4,RLENGTH-4) } } BEGIN{ split(domain,domainList,",") } { #print $0 userid = extractField($4) url = extractField($6) session = extractField($9) fad = extractFad($0) if(int(userid) < 1) { userid = session } for(i in domainList) { len = length(domainList[i]) if(substr(url,0,len) == domainList[i]) { parseUrl(url,urlParams) line = userid" "urlParams["domain"]" "urlParams["path"]" "urlParams["fr"]" "urlParams["ct"]" "urlParams["ac"]" "fad #print line if(line in list) { list[line]++ } else { list[line] = 1 print line >> dataFile } break } } } '}main(){ echo `date ` start... cleanDataFile makeDataFile echo `date` done}#call main functionmain