Em três etapas:
- Remova tudo até o
://
no URL.
- Remova tudo após o primeiro
/
ou :
na string restante. Isso agora deixa você com apenas o nome do host do URL original.
- Remover bits que você não deseja, por exemplo
www.
desde o início do nome do host.
sed -e 's@^.*://@@' -e 's/[/:].*$//' -e 's/^www\.//'
A execução disso nos seus URLs de exemplo resultará em
example.com
home.example.com
Usando awk
:
awk -F'[/:]+' '{ sub("^www\.", "", $2); print $2 }'
Isso trata as linhas de entrada como registros de campos delimitados por qualquer número de :
ou /
consecutivos. Isso significa que o nome do host estará disponível no segundo campo em cada linha.
O sub()
simplesmente removerá o bit do nome do host no qual não estamos interessados (aqui, www.
no início do nome do host).