AWK分析无线网络路由负载文件
首先声明,这个是分析旧的trace格式的:
- # 使用的是无线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 ;
- }
- }
- }
- # 我只计算了正确接收到的数据包,被丢弃的没有算作有效数据
- # 下面使用了AWK的正则表达式,$0代表整行 //add by souroot
- $0 ~/^r.* AGT.* cbr/ {
- pkt_cbr_sum += pktsize ;
- }
- END {
- # 单位为bytes (pkt_route_sum/pkt_cbr_sum) , routecosts:%.4f
- printf "cbr_bytes:%d, route_bytes:%d, routecosts:%.4f\n", pkt_cbr_sum, pkt_route_sum,(pkt_route_sum/pkt_cbr_sum) ;
- }