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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值