【发布时间】:2021-06-05 09:20:24
【问题描述】:
我有一个包含 URL 列表的文件,我想从中获取子域。
网址列表是:
https://www.google.com [match www]
https://www.something.random-name.domain.com [match www, something, and random-name]
https://facebook.com [don't match anything]
http://test.prod-op.bpo.yahoo.com [match test, prod-op and bpo]
我一直在使用“sed”命令放弃 https 和 http 前缀,然后使用“awk”命令获取子域,但问题是我只能匹配第一个子域,例如:
https://www.something.random-name.domain.com
在上面的例子中,我的方法只匹配“www”,但我希望它匹配“www”以及“something”和“random-name”。
输入将是:
https://www.google.com
https://www.something.random-name.domain.com
https://facebook.com
http://test.prod-op.bpo.yahoo.com
输出将是:
www
www something random-name
null
test prod-op bpo
请解释我应该做什么,以便我可以匹配和提取子域。
谢谢!
【问题讨论】:
-
cat domainnames | sed -E 's/^\s*.*:\/\///g' | awk -F"." '{print $1}'这是我一直在使用的。