【发布时间】:2013-11-25 07:41:28
【问题描述】:
在 shell 中计算某些 random data 的 min/avg/max/std-dev 的最佳方法是什么?
如果每行有几列,并且需要计算每一列的统计信息怎么办?
示例输入(基于对hping 输出的处理),第 3、4 和 5 列感兴趣:
0 145.5 146 = 75 + 71
1 142.7 142 = 72 + 70
2 140.7 140 = 70 + 70
3 146.7 146 = 76 + 70
4 148.3 148 = 77 + 71
5 157.5 157 = 87 + 70
6 167.1 167 = 96 + 71
7 166.3 166 = 95 + 71
8 167.7 167 = 97 + 70
9 159.0 159 = 88 + 71
10 156.7 156 = 86 + 70
11 154.9 155 = 84 + 71
12 151.9 152 = 81 + 71
13 157.3 157 = 86 + 71
14 155.0 155 = 84 + 71
15 157.7 158 = 87 + 71
16 156.6 156 = 86 + 70
(请注意,此输入是无限直播。)
【问题讨论】:
-
我会说 Perl 脚本。再说一次,我将 Perl 脚本用于所有我不需要 C++ 来提高性能的东西......
-
您是说您想要为连续流运行统计信息吗?这将在运行一两个月后变得相当无用,因为它几乎不会每天发生变化。
-
@Borodin,你如何使用
ping(8)?这是同一件事。我的意思是,^C可能必须有一个中断处理程序,然后打印摘要。
标签: perl awk ping data-processing