⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmlog2.awk

📁 实现IP多播(IP Multicast)的可信传输的库和源码
💻 AWK
字号:
BEGIN{      }      {        if( NR ==  4 ){ SOURCE_NAME=$2;  }        if( NR ==  6 ){ SOURCE_PID=$2;   }        if( NR ==  9 ){ RECEIVER_NAME=$2;}        if( NR == 11 ){ RECEIVER_PID=$2; }        if( NR == 19 ){ DATA_RECV=$2;    }        if( NR == 38 ){ DATA_SENT=$2;    }        if( NR == 40 ){ NACK_SENT=$2;    }        if( NR == 21 ){ NACK_RECV=$2;    }        if( NR == 42 ){ REF_SENT=$2;     }        if( NR == 23 ){ REF_RECV=$2;     }        if( NR == 44 ){ RET_SENT=$2;     }        if( NR == 25 ){ RET_RECV=$2;     }     }  END{        printf("\n--------------------------------------------------\n") >> output_file;        printf("%s:%d losses from %s:%d\n",RECEIVER_NAME,RECEIVER_PID,SOURCE_NAME,SOURCE_PID) >> output_file;        printf("--------------------------------------------------\n") >> output_file;                if( (DATA_SENT > 0) && (DATA_RECV < DATA_SENT) )            printf( "Data loss= %.4f\n", 1 - ( DATA_RECV/DATA_SENT ) ) >> output_file;        else        {            printf( "Data loss= 0\n") >> output_file;            DATA_RECV=DATA_SENT;        }                    if( (NACK_SENT > 0) && (NACK_RECV < NACK_SENT) )            printf( "NACK loss= %.4f\n", 1 - ( NACK_RECV/NACK_SENT ) ) >> output_file;        else        {            printf( "NACK loss= 0\n" ) >> output_file;            NACK_RECV=NACK_SENT;        }                if( (REF_SENT > 0) && (REF_RECV < REF_SENT) )            printf( "Refresh loss= %.4f\n", 1 - ( REF_RECV/REF_SENT ) ) >> output_file;        else        {            printf( "Refresh loss= 0\n" ) >> output_file;            REF_RECV=REF_SENT;        }                    if( (RET_SENT > 0) && (RET_RECV < RET_SENT) )            printf( "Retransmission loss= %.4f\n", 1 - ( RET_RECV/RET_SENT ) ) >> output_file;        else        {            printf( "Retransmission loss= 0\n" ) >> output_file;            RET_RECV=RET_SENT;        }                packets_sent_sum=DATA_SENT + NACK_SENT + REF_SENT + RET_SENT;        if( packets_sent_sum > 0 )        {            packets_recv_sum=DATA_RECV + NACK_RECV + REF_RECV + RET_RECV;            printf("Total packet loss= %.4f\n", 1 - (packets_recv_sum/packets_sent_sum) ) >> output_file;        }                    printf("--------------------------------------------------\n") >> output_file;     }

⌨️ 快捷键说明

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