日期:2014-05-16  浏览次数:20644 次

高分求教awk的问题!!!!!!
公司有段awk的脚本,找了很多材料,还是看不懂~求各位赐教!

HTML code

BEGIN {
    "date +%H%M"|getline NOW
    TN=1NOW
    QN=TN-10000
}

{
    if($0 ~ /^.*finish.html.*$/)
    {
            DATE=getHourAndMinutes($4)  
            TD=1DATE
            QD=TD-10000
        DF=(QN%100) ? QN-10 : QN-50;
            if((QD > DF) && (QD <= QN))
            {
                ID=getId()
                TIMES[DATE"\t"ID]++
            }       
    }
}



begin里的这三句:
"date +%H%M"|getline NOW #完全不知道什么一起。。
TN=1NOW #是在获取当前时间戳吗?
QN=TN-10000 #因为TN就不知道什么意思,所以这个也不知道。。。

action里的:
TD=1DATE #1DATE是什么意思?DATE是时+秒(如0921)
QD=TD-10000 #TD不知道是什么东西。。。
TIMES[DATE"\t"ID]++ #这个也不知道什么意思。。。。

很着急~麻烦大家了!!!

------解决方案--------------------
"date +%H%M"|getline NOW #完全不知道什么一起。。
获取当前时间,存入变量NOW

TN=1NOW #是在获取当前时间戳吗?
在变量NOW的值的前面添加一个数字1,然后构造变量TN

QN=TN-10000 #因为TN就不知道什么意思,所以这个也不知道。。。
定义一个新的变量QN,赋值为变量TN减去10000


TIMES[DATE"\t"ID]++ #这个也不知道什么意思。。。。
定义一个数组TIMES,下标就是里面拼的那个东西
------解决方案--------------------
就是统计某个id某个时间点出现过几次,还有些东西你得根据脚本用途判断判断