И это всё МОЁ

Пожалуйста помогите - как выбрать из текстового файла(file.txt) все домены.
Как первого так и N-уровня
Собрал вот такую строку:
grep -oP «(?:a-z0-9?.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]» file.txt > domains.txt


Но есть домены, в которых используется нижнее подчеркивание «_» , и такие домены не попадают в выборку. Такие, например:


mail.mta-sts.mail.mail._mta-sts.mail.mail.mail.mail.mail.mail.humberside.bid


и их обрезает вот до такого состояния:


mta-sts.mail.mail.mail.mail.mail.mail.humberside.bid


Как изменить регулярку так, чтобы парсилось целиком домен с поддоменами, даже содержащими «_» ?









 , ,