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

📄 peer.awk

📁 Unix/Linux 网络时间协议版本3 Network Time Protocol Version 3 (NTP) distribution for Unix systems
💻 AWK
字号:
# awk program to scan peerstats files and report errors/statistics## usage: awk -f peer.awk peerstats## format of peerstats record#  MJD    sec    ident   stat  offset (s)  delay (s)  disp (s)# 49235 11.632 128.4.2.7 f414  -0.000041    0.21910   0.00084## format of output dataset (time values in milliseconds)# peerstats.19960706#        ident     cnt     mean     rms      max     delay     dist     disp# ==========================================================================# 140.173.112.2     85   -0.509    1.345    4.606   80.417   49.260    1.092# 128.4.1.20      1364    0.058    0.364    4.465    3.712   10.540    1.101# 140.173.16.1    1415   -0.172    0.185    1.736    3.145    5.020    0.312#...#BEGIN {	n = 0	MAXDISTANCE = 1.0}## scan all records in file## we toss out all distances greater than one second on the assumption the# peer is in initial acquisition#{	if (NF >= 7 && ($7 + $6 / 2) < MAXDISTANCE) {		i = n		for (j = 0; j < n; j++) {			if ($3 == peer_ident[j])				i = j		}		if (i == n) {			peer_ident[i] = $3			peer_tmax[i] = peer_dist[i] = -1e9			peer_tmin[i] = 1e9			n++		}		peer_count[i]++		if ($5 > peer_tmax[i])			peer_tmax[i] = $5		if ($5 < peer_tmin[i])			peer_tmin[i] = $5		dist = $7 + $6 / 2		if (dist > peer_dist[i])			peer_dist[i] = dist		peer_time[i] += $5		peer_time_rms[i] += $5 * $5		peer_delay[i] += $6		peer_disp[i] +=  $7	}} END {	printf "       ident     cnt     mean     rms      max     delay     dist     disp\n"	printf "==========================================================================\n"	for (i = 0; i < n; i++) {		peer_time[i] /= peer_count[i]                peer_time_rms[i] = sqrt(peer_time_rms[i] / peer_count[i] - peer_time[i] * peer_time[i])		peer_delay[i] /= peer_count[i]		peer_disp[i] /= peer_count[i]		peer_tmax[i] = peer_tmax[i] - peer_time[i]		peer_tmin[i] = peer_time[i] - peer_tmin[i]		if (peer_tmin[i] > peer_tmax[i])			peer_tmax[i] = peer_tmin[i]		printf "%-15s%5d%9.3f%9.3f%9.3f%9.3f%9.3f%9.3f\n", peer_ident[i], peer_count[i], peer_time[i] * 1e3, peer_time_rms[i] * 1e3, peer_tmax[i] * 1e3, peer_delay[i] * 1e3, peer_dist[i] * 1e3, peer_disp[i] * 1e3	}}

⌨️ 快捷键说明

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