1

同じログ ファイルに追加するアプリケーションがあります。このファイルはかなり大きい (約 8 GB) ため、行頭のタイムスタンプに基づいて部分を抽出したいと思います。

-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 の間) のログを抽出したいと考えています。これを行う簡単な方法(できればワンライナー)はありますか?

ありがとう

4

2 に答える 2

7
sed -n '/08:46:01.328/,/09:56:15.739/p' application.log
于 2012-09-18T09:40:35.447 に答える
2
perl -lne 'if(/^08:46:01.328/.../^09:56:15.739/){print}' your_file
于 2012-09-18T09:56:31.567 に答える