Как я могу отфильтровать журнал только для строк в два раза?

Я работаю в Unix.

Я хотел бы получить информацию из журнала в указанном временном диапазоне для текущей даты. Например, я хочу, чтобы данные из файла журнала с сегодняшней даты были с 00:00 до 09:00.

  • Скопируйте все папки в новое место, кроме тех, которые содержат недопустимые символы.
  • Попытка генерировать случайный проход для пользователей и сохранять их в файле
  • Каковы цели и варианты использования «$ {parameter: + word}»?
  • Почему BASH печатал «bash: cd: write error: Success»?
  • Связаны ли цепи с атомами?
  • Как я могу предотвратить выполнение части / etc / profile в моей оболочке входа?
  • Пример записи в журнале:

    13/10/16 14:45:02 <batchspeedchange> <BELLBD.BD77350A.G6987V00> <> FAILED FILE FORMAT VALIDATION - ERROR:-213:rawData cannot contain tokens 

    Как получить выход из такого файла журнала?

  • bash throwing "ignored null byte in input" предупреждение в скрипте
  • Bash: переименовать файл с префиксом в качестве суффикса
  • Опасности магазина
  • Bash: повторить последние команды N
  • Как выводить только заданные символы?
  • Как я могу отсортировать этот массив чисел?
  • 2 Solutions collect form web for “Как я могу отфильтровать журнал только для строк в два раза?”

    Предполагая, что даты выглядят как «HH: MM», как вы показывали, и если предположить, что дата отображается во втором поле, вы можете использовать awk:

     awk -v start=00:00 -v stop=09:00 'start <= $2 && $2 < stop' file.log 

    [rant] Я довольно подробно отношусь к форматированию даты, и это ужасно: какая дата «09/10/11»? [/ Напыщенная]

    В любом случае, предполагая, что это «YY / MM / DD»,

     awk -v date="$(date +%y/%m/%d)" \ -v start=00:00:00 \ -v stop=09:00:00 \ -v search="File format not found" \ '$1 == date && start <= $2 && $2 < stop && $0 ~ search' file.log 

    Предполагая, что строки в файле журнала находятся в хронологическом порядке и что в 00:00 и 00:09 есть событие:

    awk '/^13\/10\/16 00:00/,/^13\/10\/16 09:00/ {print}' file.log

    Я считаю, что это легко запомнить и отличное средство при исследовании журналов. Эти предположения слишком широки для использования в производстве.

    Linux и Unix - лучшая ОС в мире.