У меня есть файл журнала, сохраненный с определенной датой. Я хочу получить записи журнала в течение определенного времени и диапазона дат в другой файл.
Ex: все записи из
2014-12-04 00:00:00 время 2014-12-04 17:00:00
У меня есть файл журнала, сохраненный с определенной датой. Я хочу получить записи журнала в течение определенного времени и диапазона дат в другой файл.
Ex: все записи из
2014-12-04 00:00:00 время 2014-12-04 17:00:00
попробуйте egrep:
pttrn="2014-12-04 0[0-9]"
pttrn="${pttrn}|2014-12-04 1[0-6]"
pttrn="${pttrn}|2014-12-04 17:00:00"
egrep "${pttrn}" <logfile>
шаблон egrep содержит три части. Первая часть захватывает все с 00: 00:00 до 09:59: 59. Вторая часть захватывает все с 10: 00: 00 до 16: 59:59, а третья часть захватывает 17:00: 00.
Если вы хотите 4 минут интервал журналов,
grep "01/APR/2014:16:3[5-9]" logfile
вернет все строки журналов между 16: 35 и 16:39 01/Apr/2014.
Предположим, вам нужны последние 5 дней, начиная с 17 / Sep / 2014 вы можете использовать следующее:
grep "1[3-7]/Sep/2011" logfile
надеется, что это поможет,
вы можете выбрать начальную и конечную строку, например,sed
:
sed -n '/Dec 5 11:00/,/Dec 5 12:00/p' /var/log/daemon.log
это выведет все строки из первой строки с Dec 5 11:00
до (и включая) первой строки с Dec 5 12:00
. Это предполагает, что журнал является последовательным по времени (т. е. все строки находятся в порядке времени). The -n
подавить действие по умолчанию печати каждой строки.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]