awk时间相差

tf.sh
chmod 755 tf.sh
刚学习awk,记录备用
#!/bin/bash
tdate=$1;
t1=$1" "$2;#链接字符串
t2=$1" "$3;
#echo $t1
#echo $t2
cat data.txt | awk -v td=$tdate -v ts="$t1" -v te="$t2" 'BEGIN{totalOutFlow} $1 ~ /[0-9]+:/{
tk=td" "$1;#链接字符串
gsub(/[-: ]/," ",ts);#替换时间str的- : 空格为空格
gsub(/[-: ]/," ",te);
gsub(/[-: ]/," ",tk);

ms=mktime(ts);#转换成毫秒
me=mktime(te);
mk=mktime(tk);
if(ts<=tk && tk<=te)totalOutFlow+=$NF;#比较时间段,把out流量累加
}
END{
print totalOutFlow;
}'
执行#./tf.sh 2011-05-23 00:08:02 00:08:07
得到2011-05-23  00:08:02至00:08:07时间段网卡out流量的总计
统计网卡流量的输出,也就是文件的最后一列,文件的内容#ifstat -tT得到
文件内容
data.txt
  Time           eth0               Total      
HH:MM:SS   KB/s in  KB/s out   KB/s in  KB/s out
00:08:00      0.38      0.00      0.38      0.01
00:08:01      0.38      0.00      0.38      0.20
00:08:02      1.37      0.37      1.37      0.37
00:08:03      0.88      0.00      0.88      0.30
00:08:04      0.81      0.00      0.81      0.41
00:08:05      0.75      0.00      0.75      0.28
00:08:06      0.81      0.00      0.81      0.00
00:08:07      0.94      0.06      0.94      0.06
00:08:08      0.81      0.00      0.81      1.76

猜你喜欢

转载自xingwang-ye.iteye.com/blog/1059244