Farhad Sakhaei Farhad Sakhaei - 6 months ago 17
Perl Question

Regular Expression, Extract main domains from a list of subdomains

This is a sample list containing of sub domains and domains,

sub1.domain.com
sub2.domains2.com
domain3.com
sub5.domain.ext
subof.subdomain.domainx.ex2


I want to just extract main domain names from this list using regular expression
Thank you

Answer

You can use grep:

grep -Eo '[^.]+\.[^.]+$' file.txt

Example:

$ cat file.txt
sub1.domain.com
sub2.domains2.com
domain3.com
sub5.domain.ext
subof.subdomain.domainx.ex2

$ grep -Eo '[^.]+\.[^.]+$' file.txt
domain.com
domains2.com
domain3.com
domain.ext
domainx.ex2

Note that this will return co.uk for www.google.co.uk.

Comments