我很难在给定的时间范围内从文件中获取日志。 我已经浏览了其他帖子,但到处都是硬编码的日期/时间,我不希望它被硬编码并且想以编程方式获取它。
这就是我一直在尝试的。
此作品,
awk -F, -v b='2016-08-10 00:40:06' -v e='date +"%F %T"' '{ if ($1 >= b && $1 <= e) print}' filename
虽然这不起作用,但
awk -F, -v b='date --date="10 minutes ago" +"%F %T"' -v e='date +"%F %T"' '{ if ($1 >= b && $1 <= e) print}' filename
不确定为什么第一个Date参数没有动态计算?
答案 0 :(得分:1)
尝试这样的事情:
awk -v b="`date --date '10 minutes ago'`"
示例:
date;echo 1 2 3 |awk -v d="`date --date '10 minutes ago'`" '{print d}'
Wed Aug 10 01:57:23 EDT 2016
Wed Aug 10 01:47:23 EDT 2016
echo 1 2 3 | awk -v d="`date --date '10 minutes ago'`" -v e="`date +%F%T`" '{print d, e}'
Wed Aug 10 01:50:05 EDT 2016 2016-08-1002:00:05