前言
shell下经常需要处理数据,需要计算均值和标准差,最近在分析EXT4的r_await的分布情况,需要计算下在一定的读写模式下,块设备的读延迟分布。
这已不是第一次有类似的需求了,每次都要awk写一坨处理脚本,感觉不爽。
其实我要的东西比较简单, 就是读取多笔记录,通过管道传递给一个工具,该工具就可以将指定字段的均值和标准差计算出来。
...
sdb 0.00 0.00 21.00 93.00 4.02 22.88 483.23 0.31 2.70 9.52 1.16 0.88 10.00
sdb 0.00 0.00 56.00 64.00 12.03 16.00 478.40 1.91 15.90 32.57 1.31 3.67 44.00
sdb 0.00 0.00 55.00 100.00 12.03 25.00 489.24 0.78 5.01 11.42 1.48 1.45 22.40
sdb 0.00 0.00 20.00 87.00 4.02 21.52 488.75 0.34 3.18 11.40 1.29 0.86 9.20
sdb 0.00 166.00 34.00 4.00 8.01 0.66 467.37 0.22 5.79 6.47 0.00 1.58 6.00
sdb 0.00 0.00 42.00 176.00 8.04 35.61 410.06 0.55 2.51 10.67 0.57 0.70 15.20
sdb 0.00 0.00 22.00 128.00 4.02 32.00 491.84 0.50 3.07 13.09 1.34 1.07 16.00
sdb 0.00 0.00 21.00 68.00 4.02 17.00 483.69 0.51 5.89 20.38 1.41 1.26 11.20