Мне нужно получить количество строк, в которых есть определенная запись из журнала за последний час.
Запись журнала выглядит следующим образом.
09:28:03.155 [pool-2-thread-1030]-сообщение Rcvd {источник = '90000000', dst = '101', msg = '2500FREE', trxId = '1511927883155JKVQ'} 09:28:04.211 [pool-2-thread-1036]-сообщение Rcvd {источник = '90000001', dst = '101', msg = 'ON6', trxId = '1511927884211OCLJ'} 09:28:06.381 [pool-2-thread-1044]-сообщение Rcvd {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'