读取两个日期之间的日志文件

Jor*_*sov 8 grep date cat

我必须读取日志文件,我的问题是如何使用 unix 命令仅获取文件中两个日期之间的文本?每行都包含日期,我想获取文件中日期等于或大于 FROM 日期且小于或等于 TO 日期的文本。
日期的格式为 13/05/23 01:58。
例如,第二个日期是 13/05/13 07:50。例子

13:41:55,110  INFO HellowordlsThis text is generated by me
Run Code Online (Sandbox Code Playgroud)

Sté*_*las 15

由于日期采用时间顺序与词汇顺序相同的格式,您可以执行以下操作:

awk '$0 >= "13/05/13 07:50" && $0 <= "13/05/23 01:58"'
Run Code Online (Sandbox Code Playgroud)

(假设时间戳在每行的开头)

  • 您还可以使用 awk 的范围模式:http://www.gnu.org/software/gawk/manual/html_node/Ranges.html 例如 `awk '/^May 24 04/,/^May 24 05/'`(对于syslog 格式的消息)。这与 Stephane 的答案在语义上略有不同,但可以更紧凑。 (2认同)
  • @CLF,并要求这些行按时间顺序排列,并且这两个日期都有日志行。 (2认同)