?????????????????????С??????С???????С?????????????л??????????????????????в?????????????->????->?????????????

????A??Sh ?x??sh -n ???????

??????????????????????????????????

????B?????????

???????????????????????????????????????md5????????????

????C??????????п???

???????????????У?????????????????????????????????????????????????????????????????

????D??????????

????????????????????????

????E????????

??????????????????????????????У???????????????????????????????仺?塣

????F????????

??????log???м?飬???????????

????????????????????????????????????????Ч???????bug?е????????????????? ??awk?????????????????????????????????????????????????????????????????????????????

??????????????awk?????????н?????awk??????????????????????Ч???????????awk???????????Щ???

????Case1???????????????????????????????飬???????????????????????

16 awk ??BEGIN{
17 pre_user=""??check=0??dead=0
20 }{
21 # pattern need check
22 if(ARGIND==1)
23 dict[$1]=$2;
24 else{
25 t=split($1??a??"/");
26 p1=a[1]"/"a[2]"/";
27 p2=a[1]"/";
29 if(p1 in dict)
30 p=p1;
31 else if (p2 in dict)
32 p=p2;
33 else next;
34 if(check!=0&&p!=pre_user){
35 print p??check >>"??$3??";
36
37 if(check==dead)
38 {
39 if(check>=dict[p])
40 print p??check >>"??$4??";
41 else print p??check >>"??$5??";
42 }
43 check=0
44 dead=0
45 }
46 check++;
47 if($3==0) dead++;
48 pre_user=p
49 }
50 }?? $1 $2


????Case2???????dump.sh????filter.awk????????dump.sh??????shell??????DEL_REASON???????????′?LINKBASE????????????filter.awk?????????κ??????????dead.url_age.[$i]???????

????Case3????2?????????????merge??????case????????????$1??$2????merge?????$1????????????$1???????????????????????????????$2???????????????????????????????????????????????????????????????????????

???????????

77 awk ??
78 BEGIN{
79 key_url=""
80 key_all=""
81 ret=1
82 }
83 {
84 if($2<??$OLDEST_TIME??) next
85 url=$1
86 while( url>key_url){ ######????while(ret>0 && url>key_url)

87 if(key_all) print key_all
88 while((ret=getline line < "??$1??")>0){
89 sp=index(line?? " ")
90 tmp_url=substr(line?? 1?? sp-1)
91 if(tmp_url>key_url){
92 key_url=tmp_url
93 key_all=line
94 break
95 }
96 print line
97 }
98 if(ret==0) break
99 }
100 print
101 }
102 END{
103 if(ret) print line
104 while(ret=getline line < "??$1??"){ #######????((ret=getline line < "??$1??")>0 print line
105 print line
106 }
107 }?? $2
 

????4??????????????

???????κ????飬????????????Щ??????????1?????д???? 2??????????????????????????????????3???????????????????????????????????????????????????У?

????4.1 ??????ж??CASE

???????????????????????л???????????????????????????????????????????????????????????????????????????????????

?????????????????????????????????????????????conf????????У?

????a?????????????????????????????????????

????b?????????????·?????????????conf??

?????????????в??case???С????磬?????????????????????С?????????????в?????????????????У???????????????????????????

????4.2 ????????

????????????????裬???????????????дtest?????????????????????????????????

?????????????????ù????????????????????????飬·????飬?????????????????????ù??????????????????????????????????????????????Щ??????顢????????????????

????4.3 ??????????

????????????????????е???????????????????????????к???????????????????????????????????????????????????????????????????????????????????????????磺

????????1??if???????????????????????????????????????????????ssh???????ο????????

????????2?????????????????????????????н??????Щ??????????????????????????У????????????????????

????????????????е??Щ?????

????A?????????????????????????mkdir ?p a??rm a???????#??????

????B??????????????????????????????????????????????????

????C???м???????????????????????е????????????????????cp????????????????????????????????????????м??????ζ??????У???????

????D???????????Σ?????????????????м???????????????????????????????????????cp???bak???????????κ?????κζε????????????????????????С?????????????????????γ?????к??????????е????????????????????????

????E??????????????????????????????????????????л???????????????????????????????ι??????????????