grep poprawne wyrażenie regularne domeny [duplikat]

To pytanie ma już odpowiedź tutaj:

Wyodrębnij nazwy domen z pliku w powłoce [zamknięty] 2 odpowiedzi

Próbuję utworzyć wyrażenie regularne dla grep, które pasują tylko do prawidłowych domen.

Moja wersja działa całkiem dobrze, ale pasuje do następującej nieprawidłowej domeny:

@subdom..dom.ext

Oto mój regex:

echo "@dom.ext" | grep "^@[[:alnum:]]\+[[:alnum:]\-\.]\+[[:alnum:]]\+\.[[:alpha:]]\+\$"

Pracuję z bash, więc unikałem znaków specjalnych.

Przykład, który powinien pasować:

@subdom.dom.ext
@subsubdom.subdom.dom.ext
@subsub-dom.sub-dom.ext

Dzięki za pomo

questionAnswers(3)

yourAnswerToTheQuestion