命令行上日志文件中时间的分箱直方图

时间:2014-06-02 19:53:18

标签: linux command-line histogram binning

为了从linux服务器上的日志文件快速评估各种操作的时间,我想从日志中提取它们并创建textual / tsv样式直方图。为了更好地了解时间分布的方式,我想将它们分成0-10ms,10-20ms等范围。

输出应该如下所示:

121    10
 39    20
 12    30
  7    40
  1   100

如何使用通常的unix命令行工具实现这一目标?

1 个答案:

答案 0 :(得分:7)

快速回答:

cat <file> | egrep -o [0-9]+ | sed "s/$/ \/10*10/" | bc | sort -n | uniq -c

详细答案:

  • grep你的时间或数字的模式。您可能需要执行多个grep步骤才能从日志中精确提取所需的数字。

  • 使用sed为所需因子的整数除法添加算术表达式并将其乘以

  • bc执行计算

  • 众所周知的排序| uniq combo来计算出现次数