zoukankan      html  css  js  c++  java
  • 利用关键字列表在日志中查询关键字数量

    #!/bin/bash
    
    #时间配置
    startime="2016-10-09 09:00"
    endtime="2016-10-09 11:00"
    
    #指定日志文件
    logfile=$PWD/svrs.log
    
    #关键字列表
    keywordlist=$PWD/keylist.txt
    
    #结果文件
    result=$PWD/result.txt
    
    #日志临时文件
    tmpfile=$PWD/keytmp.tmp
    #把开始时间和结束时间放到 日志临时文件
    sed -n "/^$startime/,/^$endtime/ p" $logfile >$tmpfile
    #清空临时文件
    >$result
    #读取关键字列表,并作为参数传入循环
    for keyword in `cat $keywordlist|xargs`; do
    #统计关键字数量 
        keynum=`grep -c "$keyword" $tmpfile`
    #把关键字结果作为打印屏幕并写如结果文件
        echo -e "$keyword:	$keynum" >>$result
    done

     完善下

    获取当前日期赋值给变量:startime="`date +%Y-%m-%d` 09:00", 这条命令中“=”号左右不能有空格,不然这条命令无法执行

    bin/bash
    
    #时间配置
    #startime="2016-10-14 09:00"
    #endtime="2016-10-14 11:00"
    startime="`date +%Y-%m-%d` 09:00"
    endtime="`date +%Y-%m-%d` 11:00"                                                                                                                                                                                                                                          
    
    #指定日志文件
    logfile=$PWD/svrs.log
    
    #关键字列表
    keywordlist=$PWD/keylist.txt
    
    #结果文件
    result=$PWD/result.txt
    
    #日志临时文件
    tmpfile=$PWD/keytmp.tmp
    
    sed -n "/^$startime/,/^$endtime/ p" $logfile >$tmpfile
    
    >$result
    for keyword in `cat $keywordlist|xargs`; do
     keynum=`grep -c -w "$keyword" $tmpfile`
         echo -e "$keyword:	$keynum" >>$result
         echo -e "$keyword:	$keynum"
     done
  • 相关阅读:
    linux启动流程
    监控命令
    ansible组
    公钥和秘钥
    SSH协议介绍
    Java并发编程笔记之ThreadLocal内存泄漏探究
    【死磕 Java 集合】— ConcurrentSkipListMap源码分析
    GraphX介绍
    Storm内部的消息传递机制
    JanusGraph Server配置
  • 原文地址:https://www.cnblogs.com/testway/p/5943885.html
Copyright © 2011-2022 走看看