この方法で解決できるかどうかわからない問題を扱っています。助けていただければ幸いです。見てみましょう:
Monit を使用していくつかのログ ファイルを監視しています。特定の式を探したいのですが、その式が 3 回以上表示される場合にのみ、正の一致が必要です。
問題のログ ファイルは次のようになります。
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] [SEVERE] :: Exception was caught: Could not bind to port.. Exiting.
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] [SEVERE] :: Exception was caught: Could not bind to port.. Exiting.
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] [SEVERE] :: Exception was caught: Could not bind to port.. Exiting.
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] Configurator :: FillSensor()
[2013/03/12-16:07:06] [SEVERE] :: Exception was caught: Could not bind to port.. Exiting.
[2013/03/12-16:07:06] Configurator :: FillSensor()
そして、「 [SEVERE]」という表現を探しています。
その式が 3 回以上出現する場合に一致が必要です。
その式に一致するすべての行が得られることはわかってい.*\[SEVERE\].*
ますが、その行数が 3 以上の場合にのみ一致させたいと考えています。正規表現でそれを行う方法はありますか?または、おそらくMonitでそれを行う代替手段はありますか?