Почему на сайте регулярка работает, а в grep не работает?

Регулярное выражение на сайте находит что мне надо, а когда пытаюсь его использовать в grep то не находит ничего. Пример нас сайте regex101.com (там выставлен PCRE? что должно соответствовать синтаксису регулярок в rgep в случае с параметром -P)

grep запускал с разными параметрами вот примеры:

grep -a -E "[0-9]{4}-[0-9]{2}-[0-9]{2}.*keywrd[\s\S]*?[0-9]{4}-[0-9]{2}-[0-9]{2}" /home/user1/test1.txt

grep -a -P "[0-9]{4}-[0-9]{2}-[0-9]{2}.*keywrd[\s\S]*?[0-9]{4}-[0-9]{2}-[0-9]{2}" /home/user1/test1.txt

сама регулярка:[0-9]{4}-[0-9]{2}-[0-9]{2}.*keywrd[\s\S]*?[0-9]{4}-[0-9]{2}-[0-9]{2}

текст-пример для поиска

какой-то ненужный текст неважно
ываотыволдаптфдп


2019-06-10   промежуточный нужный текст       : FDGHDSH:keywrd, промежуточный нужный текст

ещё какойто нужный текст
    .конец нужного текста

--------------кусок неподходящего---------------------------
2022-07-10   промежуточный  текст       : FDGHDSH:keynotwrd, промежуточный нужный текст

ещё какойто  текст
    .конец текста
-------------- конец куска неподходящего---------------------------

2022-08-10   промежуточный нужный текст       : FDGHDSH:keywrd, промежуточный нужный текст

ещё какойто нужный текст
    .конец нужного текста


2021-06-10   ненужный текст
какой-то ненужный текст неважно
ываотыволдаптфдп


    

что я выяснил: в обычной регулярке выражение [\s\S]* находит любые пробельные и непробельные символы, но в регулярках grep'а не работают слеши в квадратных скобках.
Попробовал использовать поиск через .*, но grep построчно обрабатывает и и регулярка .* спотыкается о перевод строки, попробовал grep с параметром -z чтобы игнорировал все переводы строк и представлял весь текст как одну строку - тоже не помогло, вот пример модифицированной команды grep -a -z -P "[0-9]{4}-[0-9]{2}-[0-9]{2}.*keywrd.*[0-9]{4}-[0-9]{2}-[0-9]{2}" /home/user1/test1.txt вообще ничего не находит.


Ответы (1 шт):

Автор решения: Zt.
grep -z -o -P '[0-9]{4}-[0-9]{2}-[0-9]{2}.*keywrd[\s\S]*?[0-9]{4}-[0-9]{2}-[0-9]{2}' 2.txt

введите сюда описание изображения

→ Ссылка