Мне нужно извлечь некоторую информацию из файла журнала с помощью сценария оболочки (bash). Строка из файла журнала, как правило, выглядит следующим образом:Выбор временных интервалов из файлов журнала с помощью Bash
2009-10-02 15:41:13,796| some information
Иногда такая линия следуют еще несколько строк, дающих сведения о событии. Эти дополнительные строки не имеют определенного формата (в частности, они не начинаются с метки времени).
Я знаю, как использовать grep для фильтрации файла на основе ключевых слов и выражений. В основном у меня возникают проблемы с тем, что иногда мне приходится смотреть только на определенные интервалы времени. Например, мне нужно посмотреть только на события, которые произошли за последние X минут. Я не испытываю сценариев оболочки, но из-за сложности формата времени это кажется довольно сложной задачей для меня. С другой стороны, я могу себе представить, что это что-то не слишком необычное, поэтому мне интересно, есть ли какие-то инструменты, которые могут сделать это проще для меня, или если вы можете дать мне несколько советов о том, как решить эту проблему?
Спасибо за все ответы. К сожалению, многие вещи не поддерживаются на сервере (нет даты с параметром% s, ни phython, ни systime() тоже не работают). Я решил использовать Perl сейчас, так как он предлагает некоторые удобные функции времени, которые отсутствуют. Тем не менее, ваши комментарии дали мне много полезных советов! – bufferUnderrun