1#!/bin/awk -f
2#
3# Copyright (c) 1990, 1993
4#	The Regents of the University of California.  All rights reserved.
5#
6# This code is derived from software contributed to Berkeley by
7# Van Jacobson.
8#
9# %sccs.include.redist.sh%
10#
11#	@(#)median.awk	8.1 (Berkeley) 06/06/93
12#
13/^ *[0-9]/	{
14	# print out the median time to each hop along a route.
15	tottime = 0; n = 0;
16	for (f = 5; f <= NF; ++f) {
17		if ($f == "ms") {
18			++n
19			time[n] = $(f - 1)
20		}
21	}
22	if (n > 0) {
23		# insertion sort the times to find the median
24		for (i = 2; i <= n; ++i) {
25			v = time[i]; j = i - 1;
26			while (time[j] > v) {
27				time[j+1] = time[j];
28				j = j - 1;
29				if (j < 0)
30					break;
31			}
32			time[j+1] = v;
33		}
34		if (n > 1 && (n % 2) == 0)
35			median = (time[n/2] + time[(n/2) + 1]) / 2
36		else
37			median = time[(n+1)/2]
38
39		print $1, median
40	}
41}
42