AWK分析无线网络路由负载文件

首先声明,这个是分析旧的trace格式的:

  1. # 使用的是无线trace的旧格式
  2. BEGIN {
  3. pkt_route_sum=0;
  4. pkt_cbr_sum=0;
  5. }
  6. {
  7. action = $1;
  8. pkttype = $7;
  9. pktsize = $8;
  10. }
  11. # 考虑到aodv和dsr中中间节点转发的rrep,所以加入了f参数
  12. { if ( action == "s" || action == "f" ) {
  13. if ( pkttype == "AODV" || pkttype == "DSR" || pkttype == "message") {
  14. pkt_route_sum += pktsize ;
  15. }
  16. }
  17. }
  18. # 我只计算了正确接收到的数据包,被丢弃的没有算作有效数据
  19. # 下面使用了AWK的正则表达式,$0代表整行 //add by souroot
  20. $0 ~/^r.* AGT.* cbr/ { 
  21. pkt_cbr_sum += pktsize ;
  22. }
  23. END {
  24. # 单位为bytes (pkt_route_sum/pkt_cbr_sum) , routecosts:%.4f
  25. printf "cbr_bytes:%d, route_bytes:%d, routecosts:%.4f\n", pkt_cbr_sum, pkt_route_sum,(pkt_route_sum/pkt_cbr_sum) ;
  26. }
posted @ 2012-06-20 10:36  黑-色-柳—丁  阅读(195)  评论(0编辑  收藏  举报