歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Shell應用:統計指定格式超過n秒的數據

Shell應用:統計指定格式超過n秒的數據

日期:2017/3/1 10:35:33   编辑:SHELL編程

該腳本的應用場景是數據分析,一般作線上日志分析的人員需要觀察線上數據的變化,如:

1.訪問數據庫的響應大於1000毫秒的sql

2.apache cookielog響應大於多少毫秒的數據

數據格式:

[html]
  1. 2010-12-14 00:01:26,427 FATAL FUNCTION_TIME - wmmad.alloffer.get 15511ms
  2. 2010-12-14 00:01:33,164 FATAL FUNCTION_TIME - wmmad.alloffer.get 14213ms
  3. 2010-12-14 00:02:31,021 FATAL FUNCTION_TIME - wmmad.alloffer.get 14126ms
  4. 2010-12-14 00:05:08,160 FATAL FUNCTION_TIME - wmmad.alloffer.get 15295ms
  5. 2010-12-14 00:24:00,372 ERROR FUNCTION_TIME - wmmad.offer.repost 406ms

腳本:

[plain]
  1. #/bin/bash
  2. # author: madding.lip
  3. # date 2010.12.14
  4. # 統計超n毫秒的數據量
  5. ERROR_USAGE=1
  6. if [ $# != 2 ]; then
  7. echo "Usage: $0 file times";
  8. exit $ERROR_USAGE
  9. fi
  10. myfile=$1
  11. mytime=$2
  12. all=0
  13. count=0;
  14. data=`cat $myfile | awk '{print $7}' | sed 's/ms//g'`;
  15. for i in $data ;
  16. do
  17. all=$(( $all + 1 ));
  18. if test $(( $mytime < $i )) -eq 1 ;then
  19. # echo $i; sleep 1;
  20. count=$(( $count + 1 ));
  21. fi
  22. done;
  23. echo "response time over ${mytime}ms: "$count" times"
  24. echo "all count: "$all" times"

具體根據數據格式作調整即可。

Copyright © Linux教程網 All Rights Reserved