У меня есть файл журнала, который имеет дату и время в начале каждой строки.
Мне нужно искать файл журнала, начиная с определенного времени до конца файла.
Например:
Starting point: July 29 2018 21:00:00
End point : end of file
Я обеспокоен тем, что даже если шаблон July 29 2018 21:00:00
не существует, я все равно получаю грань между, например, July 29 2018 21:05:11
так как это все еще за пределами July 29 2018 21:00:00
.
Есть awk
или sed
работа для этого?
shell-script
awk
sed
scripting
Megaman
источник
источник
Ответы:
Я бы использовал для этого perl, чтобы проанализировать отметку времени в каждой строке:
Эта версия несколько более эффективна, так как перестает анализировать отметку времени после того, как начальная дата была замечена (предполагается, что файл находится в возрастающем хронологическом порядке):
источник
awk
с системным вызовомdate
было еще медленнее.Попробуй это:
Вы можете передать любой формат даты, который
date
может читать, например2018-07-01
. Если формат даты изменяется, вы можете изменитьgrep
шаблон в соответствии с этим.источник
Вы можете искать первую строку, соответствующую определенной строке (т.
July 29 2018 21:
Е. Все после 9 вечера). Если у вас есть этот номер строки, вы можетеtail
файл, начиная с найденного номера строки.мой пример:
источник
С
sed
тобой можно сделатьЭто даст вам все строки между 29 июля 2018 года 21: ** и последней строкой файла
источник