我想在过去的24小时内从日志文件中获取值。
2015-10-13 09:17:30 INFO Average 1min EPS: 1040
2015-10-13 09:18:30 INFO Average 1min EPS: 1235
2015-10-13 09:19:30 INFO Average 1min EPS: 1020
2015-10-13 09:20:30 INFO Average 1min EPS: 1202
2015-10-13 09:21:30 INFO Average 1min EPS: 990
我所需要的只是价值。我希望我可以在脚本执行时获得最后24小时。
我的最终目标是获得"平均1分钟EPS:",添加所有值,并获得平均每次点击费用。
答案 0 :(得分:0)
此问题的关键是选择最后一天内的行(*)
使用date
查找开始时间戳:
yesterday=$(date -d "yesterday" "+%F %T")
然后,awk是一个比较字符串的便利工具
awk -v d="$yesterday" '($1 " " $2) > d {print}' file.log
然后,您只需要每行的最后一个字段
awk -v d="$yesterday" '($1 " " $2) > d {print $NF}' file.log
如果你只想要总和
awk -v d="$yesterday" '($1 " " $2) > d {sum+=$NF} END {print sum}' file.log
(*)一天不一定是24小时