過去 1 時間のログから特定のレコードがある行の数を取得します。

過去 1 時間のログから特定のレコードがある行の数を取得します。

過去 1 時間のログから特定の記録がある行の数を取得する必要があります。

ログレコードは次のようになります。

09:28:03.155 [pool-2-thread-1030]-受信メッセージ {src='90000000',dst='101',msg='2500FREE',trxId='1511927883155JKVQ'} 09:28:04.211 [pool-2-thread-1036]-受信メッセージ {src='90000001',dst='101',msg='ON6',trxId='1511927884211OCLJ'} 09:28:06.381 [pool-2-thread-1044]-受信メッセージ{src='90000002',dst='101',msg='i89',trxId='1511927886381GLRI'}

一致してカウントされる条件「Rcvd msg」

これを試してみましたが、出力はありませんでした。grep "^$(date -d -1hour +'%H %M')" recvdmsg.log | grep 'Rcvd msg' | wc -l

答え1

テキスト内のタイムスタンプが「09:28:03.155」なので、日付にコロンを追加してみてはどうでしょうか?

日付 -d -1時間 +'%H:%M'

関連情報