• 利用关键字列表在日志中查询关键字数量


    #!/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
  • 相关阅读:
    一次函数(好难的一次函数)
    脱水缩合(大搜索)
    背单词
    仙人掌(cactus)
    LYK 快跑!(LYK别打我-)(话说LYK是谁)
    巧克力棒
    选数字(贪心+枚举)
    看程序写结果(program)
    np问题
    IUYYLIUIU
  • 原文地址:https://www.cnblogs.com/testway/p/5943885.html
Copyright © 2020-2023  润新知