2016-09-19 8 views
-1

からデータを抽出するための最良の方法はRegexであり、私のようなログを見て、それらのログから一部のデータを抽出しようとしていますIP_adressとUAを抽出する。 これらのログからデータを抽出するために正規表現を使用しているのですか、それとも他の方法で正しく実行できますか?は、私は、ログの完全なファイルを持っているログ

+0

logstashを試してください。要件を満たすために事前定義されたパターンを持つ可能性のあるgrokパターンを記述する必要があります。 – AlokThakur

+2

「最良の方法」のためのあなたの基準は何ですか?その情報がなければ、あなたはただ私たちの意見を求めているだけです。正規表現を使用することが可能かどうかを尋ねているなら、それは確かにちょうど正しいことをするのが少し難しいかもしれません。 – 4castle

答えて

2

文字列を分割し、最後の2つの要素を取得するだけです。最初のIP住所が必要な場合は

>>> 
>>> str = 'IP_adress - - [Date_time] "method" response_nb time "page" "UA" "IP_a 
dress"' 
>>> tmp_list = str.split() 
>>> 
>>> tmp_list 
['IP_adress', '-', '-', '[Date_time]', '"method"', 'response_nb', 'time', '"page 
"', '"UA"', '"IP_adress"'] 
>>> tmp_list[-1] 
'"IP_adress"' 
>>> tmp_list[-2] 
'"UA"' 
>>> 

...

>>> tmp_list[0] 
'IP_adress' 
>>> 

は、最後のIP住所から以下のように二重引用符を交換してください。

>>> 
>>> tmp_list[-1].replace('"','') 
'IP_adress' 
>>> 
関連する問題