在DDoS之后在大型日志文件上执行awk时,我试图获得更多dtrace样式分布输出,以便更容易读取输出:
# tail -1000 access_log | awk '{ print $1 }' | sort | uniq -c | sort -nr | awk '{printf("\n%s ",$0) ; for (i = 0; i<$1 ; i++) {printf("*")};}'
43 192.168.0.1 *******************************************
38 192.168.0.2 **************************************
Run Code Online (Sandbox Code Playgroud)
希望它看起来像:
value ------------- Distribution ------------- count
192.168.0.1 @@@@@@@@@ 43
192.168.0.2 @@@@@@@@ 38
Run Code Online (Sandbox Code Playgroud)
@s是一个较小的计数摘要,而不是数字的*.让它自动按比例缩放将是一个额外的好处,因为我必须做数学来弄清楚如何对每个计数进行排名.
awk ×1