我正在尝试使用grep命令查找两个日期范围内的所有行,日期格式如下: date_time.strftime("%Y%m%d%H%M") 比如在[201211150821 - 201211150824]之间的行。
我正在编写一个脚本,需要查找这些日期之间的行:
cat <somepattern>*.log | **grep [201211150821 - 201211150824]**
我想知道在Unix中是否存在一种方法可以查找日期范围。
我可以将日志中的日期转换为(自时代)并使用常规grep和[time1-time2],但这意味着读取每行,提取时间值,然后进行转换等。
也许已经存在一些简单的方法,使我可以像向grep提供数字范围一样指定日期/时间戳范围?
谢谢!
P.S: 另外,我可以传递类似于2012111511(27|28|29 | [3-5] [0-9])的模式,但那是我想要的特定范围,并且每次尝试不同日期都很乏味,在运行时更加棘手。
gawk
将日期解析为纪元时间,然后在gawk
中进行过滤。 - Tomasz Nurkiewicz