zoukankan      html  css  js  c++  java
  • 日志核查工具脚本业务逻辑

    用户确定线程号qth和时间范围[qst, qet];

    读入文本文件;

    将有效行标志位vline设为false;

    读入第一行数据,判断是否为日志输出;

    若是:提取线程号thread_no和时间cur_time,将vline设为true;

    否则:

    若vline=true,输出该行

    否则忽略该行;

    若线程号不是qth 忽略该行;

    若cur_time<qst忽略该行;

    输出本行数据,循环读入下一行文本;

    用grep -n定位起始位置,awk先判断时间范围,再判断线程号,当时间超出上限时,直接退出(close),不必读后续行(next)。

    echo "Please input thread number:"

    read qth

    echo "Please input start time:"

    read qst

    echo "Please input end time:"

    read qet

    echo $qth

    awk 'BEGIN{

    isLogLine=0;

    qth='"$qth"';

    qst='"$qst"';

    qet='"$qet"';

    }

    {

    if(substr($3,2,7)=="thread_"){ #检查是否为日志输出列

    thread_no=substr($3,9,length($3)-9);

    if(thread_no==qth){

    print "the thread is in line:"
    
    print NR
    

    }

    }

    }' logex

  • 相关阅读:
    Linux常用命令
    jQuery
    NPM 常用命令
    Linux中mkdir和touch命令区别
    linux下cat命令详解
    时间
    es5中foreach的用法
    简单的下拉框制作
    window内置对象学习
    [Leetcode]5.Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/darkmatter/p/3606821.html
Copyright © 2011-2022 走看看