2016-07-04 6 views
-2

私は検索したいログファイルを複数持っています。すべてのログは、タイムスタンプ、メッセージと追加の複数のフィールドを持っているので、各ログは次のように見て複数行で構成されています。この方法は、2つのログを単一の空行で区切られていることをログファイルのインターリーブと検索

Mon Jan 20 12:00:00 2016 127.0.0.1:12345 Hello World! 
Field_1 = foo 
Field_2 = bar 
... (some more fields) 
<empty line> 

注意。残念ながら、単一のログファイルのみが時間順に並べ替えられ、2つの異なるログファイルをインターリーブして、ログの順序付き行全体を取得する必要があります。これは私が達成したい最初のものです。

さらにログを検索したい。これは基本的には、それぞれの単一のログで検索条件とgrepを定義したいということです。すべての検索条件が一致する必要があります。最終的には、検索条件に合った順序付けられたログセットが必要です。

私はgrepのコンテキスト検索を使用してこの問題を解決しようとしましたが、時間のない順番と固定されたコンテキストサイズはそれを痛めました。ですから、これを実現させるためのBashやPythonの魔法があるかどうか尋ねたいと思います。すべてのヒントは高く評価されています!

+0

...助けawkのhttps://coderwall.com/p/ueazhw/parsing-logs-with-awk – dmitryro

+0

@dmitryroいただき、ありがとうございますリンク。実際に私はawkを知らなかった! [this](http://www.thinkplexx.com/learn/article/webperf/baslog/statwithbashandawk)と一緒に私は何かを実行しようとします。 – SpaceMonkey

+0

64個は '[python]解析ログファイル 'を検索し、700+は' [python] logfile'を検索します。それらを見ましたか?がんばろう。 – shellter

答えて

0

私は間違いなくregular expressions を見ることをお勧めします、彼らはあなたが必要とするすべてのものがあります!あなたは、正規表現のテンプレートをコンパイルして使用するスクリプトを作成することができますre.findall(regex_template, your_log_variable) <例として、独自のログとテンプレートを記入する必要があります。

希望、これはあなたがあなたの時間形式を知っている場合は、使用することができます

関連する問題