Bash 基于时间戳提取日志文件的一部分

Bash 基于时间戳提取日志文件的一部分,bash,sed,Bash,Sed,我有一个附加到同一日志文件的应用程序。由于这个文件相当大(大约8GB),我想根据行开头的时间戳提取部分 -bash-3.2$ cat application.log | egrep --color "Starting Application|Exception" 08:46:01.328 [main] INFO Starting Application... 09:14:53.670 [Thread-1] ERROR Resolver - Caught exception -> com.

我有一个附加到同一日志文件的应用程序。由于这个文件相当大(大约8GB),我想根据行开头的时间戳提取部分

-bash-3.2$ cat application.log | egrep --color "Starting Application|Exception"
08:46:01.328 [main] INFO  Starting Application...
09:14:53.670 [Thread-1] ERROR Resolver - Caught exception -> com.jgoodie.AuthzException: Authorization failed
Caused by: com.jgoodie.AuthzException: Authorization failed
09:56:15.739 [main] INFO  Starting Application...
10:17:08.932 [Thread-1] ERROR Resolver - Caught exception -> com.jgoodie.AuthzException: Authorization failed
Caused by: com.jgoodie.AuthzException: Authorization failed
在上面的示例中,我想提取应用程序第一次运行的日志(08:46:01.328和09:56:15.739之间)。有没有简单的方法(最好是一个班轮)来做到这一点

谢谢

sed -n '/08:46:01.328/,/09:56:15.739/p' application.log
perl -lne 'if(/^08:46:01.328/.../^09:56:15.739/){print}' your_file