https://club.shelek.ru/viewfiles.php?id=45Тут книга по регулярным выражениям - есть и PCRE, и выражения awk.
Awk - язык для написания текстовых фильтров. Синтаксис awk примитивен и напоминает shell (sh, bash). Описание языка awk вполне укладывается в man. Строится блоками. Каждый блок предваряется условием, которое проверяется для каждой строки входного потока. Также есть специальные блоки типа BEGIN и END.
Все, что есть в awk, есть и в Perl. Но Perl намного мощнее и по производительности на два порядка быстрее awk (проверял на практике). Кстати, поставить ActivePerl также легко, как любое win-приложение. Он тоже бесплатный.
В обеих языках фильтр для данного случая строится одинаково:
Вариант 1:
1. Выделяем часть строки с датой и проверяем на вхождение в диапазон: выводим или нет.
Вариант 2:
1. Если флаг не установлен, проверяем на начало блока: устанавливаем флаг и выводим строку.
2. Если флаг установлен, проверяем выход за границу диапазона: снимаем флаг.
3. Флаг установлен: выводим строку.
Для данного случая проще вариант 1. Вариант 2 универсальный, т.к. позволяет работать не только с датами, но и с любыми маркерами.