Jus*_*ser 3 linux command-line histogram binning
为了从linux服务器上的日志文件快速评估各种操作的时间,我想从日志中提取它们并创建textual/tsv样式直方图.为了更好地了解时间分布的方式,我想将它们分成0-10ms,10-20ms等范围.
输出应该如下所示:
121 10
39 20
12 30
7 40
1 100
Run Code Online (Sandbox Code Playgroud)
如何使用通常的unix命令行工具实现这一目标?
快速回答:
cat <file> | egrep -o [0-9]+ | sed "s/$/ \/10*10/" | bc | sort -n | uniq -c
Run Code Online (Sandbox Code Playgroud)
详细解答:
grep你的时间或数字的模式.您可能需要执行多个grep步骤才能从日志中精确提取所需的数字.
使用sed为所需因子的整数除法添加算术表达式并将其重新加倍
bc执行计算
众所周知的种类 uniq组合来计算出现次数