bw.awk

来自「跑leach需要的」· AWK 代码 · 共 60 行

AWK
60
字号
## bw.awk#       awk script to parse the output of a ns trace file,#       and produce mean bandwidth vs time-interval## Usage:#       awk -f bw.awk OP=<offered|achieved> [args] tracefile## [args] can be:#       FID=<flowid number>#       PTYPE=<packet-type>#	INTERVAL=<averaging-interval-in-secs>##BEGIN {	# field numbers	FTIME=2	FPTYPE=5	FPLEN=6	FFID=8	FSEQ=11	FUID=12	# other variables	LAST=0	TOTBYTES=0	INTERVAL=1.0}/^+/ && OP == "offered"  {	if ( FID != "" && FID != $FFID )		next	if ( PTYPE != "" && PTYPE != $FPTYPE )		next	TOTBYTES += $FPLEN	}/^-/ && OP == "achieved"  {	if ( FID != "" && FID != $FFID )		next	if ( PTYPE != "" && PTYPE != $FPTYPE )		next	TOTBYTES += $FPLEN	}	{		ELAPSED=$FTIME-LAST		if ( ELAPSED >= INTERVAL ) {			LAST=$FTIME			print $FTIME, TOTBYTES / ELAPSED			TOTBYTES=0		}	}OP == "" {	print "Usage: awk -f bw.awk OP=<offered|achieved> ... tracefile"	print "  Optional vars: FID=<fid> PTYPE=<tcp|ack|cbr|...> INTERVAL=<averaging interval>"	exit 1}

⌨️ 快捷键说明

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