routeload.awk

来自「NS相关学习资源无线分析脚本,柯老师的网站」· AWK 代码 · 共 29 行

AWK
29
字号
# 使用的是无线trace的旧格式
BEGIN {
	pkt_route_sum=0;
	pkt_cbr_sum=0;
}
{
    action = $1;
    pkttype = $7;
   	pktsize = $8;
}   	 
# 考虑到aodv和dsr中中间节点转发的rrep,所以加入了f参数
{   	if ( action == "s" || action == "f" ) { 
   		if ( pkttype == "AODV" || pkttype == "DSR" || pkttype == "message") {
   			pkt_route_sum += pktsize ;
   		}
   	}
} 	

# 我只计算了正确接收到的数据包,被丢弃的没有算作有效数据
$0 ~/^r.* AGT.* cbr/ {
        pkt_cbr_sum += pktsize ;
}


END {
	# 单位为bytes
	printf "DSDV cbr_bytes:%d, route_bytes:%d, routecosts:%.4f \n", pkt_cbr_sum, pkt_route_sum, (pkt_route_sum/pkt_cbr_sum);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?