我试图grep两个日期范围之间的所有行,其中日期格式如下:
date_time.strftime( “%Y%米%d%H%M”)
所以说[201211150821 – 201211150824]
date_time.strftime( “%Y%米%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])的模式,但这些特定于我想要的范围以及每次尝试不同日期并且变得棘手的繁琐在运行时这样做.
使用awk.假设行中的第一个标记是时间戳:
awk ' BEGIN { first=ARGV[1]; last=ARGV[2]; } $1 > first && $1 < last { print; } ' 201211150821 201211150824