Функция частично реализующая функционал консольной утилиты grep.
Функция фильтрует строки, поступающие на стандартный вход и фильтрует их, согласно параметрам.
Перечисление параметров:
- invert — выводить строки, которые НЕ совпадают с шаблоном.
- ignore_case — при сравнении шаблона не учитывать регистр.
- count — выводить только число строк удовлетворивших шаблону.
- line_number — перед срокой выводить также и ее номер (строки нумеруются с единицы) в виде "5:строка".
- context N — помимо строки удовлетворяющей шаблону вывести также и N строк до и N строк после нее если столько есть. Если соседние блоки пересекаются то их нужно объединять. Если используется флаг line_number, то строки контекста нумеруются так "5-строка".
- before_context N — аналогично context, но выводить нужно только строки ДО найденой.
- after_context N — аналогично context, но выводить нужно только строки ПОСЛЕ найденой.
- pattern str — строка, описывающая шаблон поиска. В строке могут использоваться специальные сиволы:
- "?" — один любой символ.
- "*" — ноль или несколько любых символов (но в рамках одной строки).