Вы не можете сравнивать так названия месяцев, только их цифровое обозначение и порядок следования должен быть следующим:
"год месяц день час минута секунда" обязательно двумя цифрами, то-есть с предшествующим нулем если одна цифра.
Можно определить переменную FS по другому. Например:
Остается только конвертировать через встроенную функцию strftime и mktime или создать массив конкретно для месяцев года. Я так понимаю локаль русская и awk из freebsd?
Формат лога только одна строчка с временной меткой? Или это только заголовок и есть тело лога?
Начало строки лога nginx.
Стандартный лог access nginx.
Вы еще больше усложнили решение. )
Эта команда должна быть более простой, так как часто пользуешься ей.
В принципе понял почему без квадратной скобки не работало.
Ну так дело не в усложнении, а в универсальности. У вас что логи отдельные на каждый месяц? Представьте например последний день месяца. Как вы разберетесь с таким переходом в который попадает искомый интервал? Оставлю на всякий случай, вдруг заинтересуетесь
Не то.
Сам лог log_format настроен и парой для некоторых проектов достаточно стандартных настроек log.
Мне нужно по временному интервалу иногда просматривать логи.
В принципе этого варианта достаточно.
awk '$4 >= "[25/Nov/2021:13:30" && $4 < "[25/Nov/2021:13:49"'
Сам лог log_format настроен и парой для некоторых проектов достаточно стандартных настроек log.
Мне нужно по временному интервалу иногда просматривать логи.
Так блин, поменяйте формат даты хотя бы с $time_local на $time_iso8601, и будет Вам счастье.
Добавлено (12:56):
Хотя, конечно, правильнее было бы прикрутить что-нибудь типа Loki, но если так хочется страданий с grep/awk…
Решил по интересоваться, кто как ищет данные в логе за определенный промежуток времени?
Сливаю логи в loki (или ELK). Там гораздо удобнее и искать по логам, и анализировать.
Конечно, если есть только локалхост, то большого смысла в этом нет, а если хотя бы несколько машин / приложений, то уже очень удобно.
Добавлено (15:59):
А. собственно, Bizdelnick выше уже порекомендовал. Ну ладно.