2015-10-01 4 views
-1

У меня есть список URL-адресов, как это:Extract имя родительского домена/поддомена из списка URL через Баш ShellScripting

http://example.com/sdfsdf/sdfsa 
https://example2.com/53lasfd/asdfs 
http://www.example3.com/asdfas/asdfasdf.php?=asdfa 
https://subdomain.example4.com/index.php?id=sadfa 
https://www.subdomain.example5.com/asdfas/asdfasd 

Мне нужно извлечь только домены (и поддомены) без http, https, www и все после /:

exmaple.com 
exmaple2.com 
example3.com 
subdomain.example4.com 
subdomain.example5.com 
+0

К сожалению, выход должен быть каждый на новой линии –

ответ

2

Вы можете использовать awk,

awk -F/ '{sub(/^www\.?/,"",$3); print $3}' yourfile 

Тест:

$ awk -F/ '{sub(/^www\.?/,"",$3); print $3}' yourfile 
example.com 
example2.com 
example3.com 
subdomain.example4.com 
subdomain.example5.com 
+0

Именно то, что мне нужно! Благодаря! –

+0

А что, если мне не нужны субдомены, а только домены? –

+0

Попробуйте: 'awk -F/'{sub (/^www \.? /," ", $ 3); print $ 3} 'yourfile | awk -F \. 'NF == 2'' – sat

Смежные вопросы