TOMATOFAN 发表于 2011-12-22 08:53

混合网络AWK 分析

<span class="Apple-style-span" style="border-collapse: collapse; font-size: 12px; line-height: normal; "><span class="bold" style="font-family: Ubuntu, UbuntuBeta !important; font-weight: bold; "><font size="3px" style="font-family: Ubuntu, UbuntuBeta !important; ">无线和有线节点一起连接通信的时候,trace部分有无线部分也有有线部分</font></span><br style="font-family: Ubuntu, UbuntuBeta !important; "><br style="font-family: Ubuntu, UbuntuBeta !important; "></span><a href=".http://blog.chinaunix.net/attachment/attach/78/05/61/127805612b735777c31dc35259269a9bb5d04a51b.rar" target="_blank" target="_blank"><img border="0" align="absmiddle" src="/blog/image/attachicons/rar.gif">&nbsp;wired.rar </a>&nbsp;&nbsp;<a href=".http://blog.chinaunix.net/attachment/attach/78/05/61/127805612986f0aa6acd1945d24df9804d887f5c9.rar" target="_blank" style="border-collapse: collapse; font-size: 12px; line-height: normal; " target="_blank"><img border="0" align="absmiddle" src="/blog/image/attachicons/rar.gif">&nbsp;wiredless.rar </a><span class="Apple-style-span" style="border-collapse: collapse; font-size: 12px; line-height: normal; ">&nbsp;&nbsp;</span><a href=".http://blog.chinaunix.net/attachment/attach/78/05/61/127805612d230e6c8d4d8172c6dd030cfa3ebb815.rar" target="_blank" style="border-collapse: collapse; font-size: 12px; line-height: normal; " target="_blank"><img border="0" align="absmiddle" src="/blog/image/attachicons/rar.gif">&nbsp;mesh1.rar </a><span class="Apple-style-span" style="border-collapse: collapse; font-size: 12px; line-height: normal; ">&nbsp;&nbsp;</span><div style="border-collapse: collapse; line-height: normal; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span style="font-family: Ubuntu, UbuntuBeta !important; line-height: 25px; ">有的无线和有线节点一起连接的时候,trace部分有无线部分也有有线部分。但是有线无线的action 中的 “r s”是通用的不能用这个去将其分离,我写了两个AWK文件,可以将其分开,可能办法比较笨,和大家共享一下。<br style="font-family: Ubuntu, UbuntuBeta !important; ">附件中wired.awk 是将有线部分提出来,wiredless.awk是将无线部分提出来,mesh1.tr,是无线和有线混合的trace文件,可供大家参考。</span></div><div style="border-collapse: collapse; line-height: normal; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span style="font-family: Ubuntu, UbuntuBeta !important; line-height: 25px; "><br></span></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px;">有线格式 和 无线格式比较</span></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px;">有线格式:</span></div><div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">1 &nbsp; &nbsp;2 &nbsp; &nbsp; &nbsp; &nbsp; 3 &nbsp;4 &nbsp;5 &nbsp; &nbsp; &nbsp; &nbsp;6 &nbsp; &nbsp; &nbsp; &nbsp;7 &nbsp; &nbsp;8 &nbsp; &nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 10 &nbsp; 11 &nbsp;12</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;">+ 100.04 0 1 cbr 1000 ------- 2 0.0.0.0 1.0.1.2 1 330</span></div></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px;"><br></span></div><div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;action = $1;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;time = $2;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;from = $3;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;to = $4;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;type = $5;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;pktsize = $6;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;flow_id = $8;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;src = $9;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;dst = $10;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;seq_no = $11;</font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; line-height: 25px;"><font class="Apple-style-span" color="#f00000">&nbsp; &nbsp;packet_id = $12;</font></span></div></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px;"><br></span></div><div style="border-collapse: collapse; line-height: normal; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span style="font-family: Ubuntu, UbuntuBeta !important; line-height: 25px; ">提取wire格式&nbsp;</span></div><div style="border-collapse: collapse; line-height: normal; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span style="font-family: Ubuntu, UbuntuBeta !important; line-height: 25px; "><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0;" start="1" class="dp-css"><li>#··在有线&nbsp;的格式当中$5 代表type&nbsp;</li><li>
BEGIN{</li><li>
}</li><li>
{</li><li>
</li><li>
}</li><li>
{</li><li>
if ($5=="cbr"){</li><li>
printf("%c   %f   %d   %d   %s   %d   %d\n",$1,$2,$3,$4,$5,$6,$12);</li><li>
}</li><li>
}</li></ol></div></span></div><div style="font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><div style="line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; font-size: 14px; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; line-height: 25px; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; line-height: 18px; border-collapse: separate; "><div style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; font-size: 14px; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">1 &nbsp; &nbsp; &nbsp; 2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3 &nbsp; &nbsp; &nbsp;4 &nbsp; &nbsp; &nbsp;5 &nbsp; &nbsp; &nbsp; &nbsp;6 &nbsp; &nbsp; 7 &nbsp; &nbsp;8</font></span></div><div style="font-family: Ubuntu, UbuntuBeta !important; "><div style="font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; ">r 100.017773666 _4_ MAC &nbsp;--- 327 cbr 1000 ------- 1</span></div></div></span></span></div><div style="line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; font-size: 14px; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; line-height: 25px; "><br style="font-family: Ubuntu, UbuntuBeta !important; "></span></div><div style="font-family: Ubuntu, UbuntuBeta !important; "><div style="border-collapse: separate; line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">action=$1;</font></span></div><div style="border-collapse: separate; line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">time=$2;</font></span></div><div style="border-collapse: separate; line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; "><div style="font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">&nbsp;node_nb = $3;</font></span></div><div style="font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">node_nb=substr(node_nb,2,1);</font></span></div></div><div style="border-collapse: separate; line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">route_type=$4;</font></span></div><div style="border-collapse: separate; line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">&nbsp;flag = $5;</font></span></div><div style="border-collapse: separate; line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">packet_id=$6;</font></span></div><div style="border-collapse: separate; line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">packet_type=$7;</font></span></div><div style="border-collapse: separate; line-height: 18px; font-family: Ubuntu, UbuntuBeta !important; "><span class="Apple-style-span" style="font-family: Ubuntu, UbuntuBeta !important; border-collapse: collapse; line-height: 25px; "><font class="Apple-style-span" color="#f00000" style="font-family: Ubuntu, UbuntuBeta !important; ">packet_size=$8;</font></span></div></div></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px;">提取无线格式</span></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px;"><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0;" start="1" class="dp-css"><li><br></li><li>
BEGIN{</li><li>
        i=0;</li><li>
}</li><li>
{</li><li>
if($7=="cbr") {</li><li>
timenow=$2;</li><li>
action=$1;</li><li>
route_type=$4;</li><li>
packet_id=$6;</li><li>
packet_type=$7;</li><li>
packet_size=$8;</li><li>
i++;</li><li>
}</li><li>
        }</li><li>
END{</li><li>
        for(j=0;j&lt;i;j++) {</li><li>
printf("%c    %.2f   %s   %d   %s   %d\n",action,timenow,route_type,packet_id,packet_type,packet_size);</li><li>
}</li><li>
}</li></ol></div></span></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px; "><br></span></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px;"><br></span></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px;"><br></span></div><div style="border-collapse: collapse; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span class="Apple-style-span" style="line-height: 25px;"><br></span></div><div style="border-collapse: collapse; line-height: normal; font-family: Ubuntu, UbuntuBeta !important; font-size: 14px; "><span style="font-family: Ubuntu, UbuntuBeta !important; line-height: 25px; "><br></span></div>
页: [1]
查看完整版本: 混合网络AWK 分析