首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在bash中从随机子域中检索主域

如何在bash中从随机子域中检索主域
EN

Stack Overflow用户
提问于 2019-11-06 16:27:14
回答 1查看 237关注 0票数 1

我正在寻找一种方法来检索主域(裸体)从一个随机的域/子域。我要找的不是sed或awk命令(因为域是随机的),而是一些可以实际显示裸域的字符串。有什么建议吗?

示例:

代码语言:javascript
复制
from www.bbc.co.uk -> bbc.co.uk
from www.google.com -> google.com
from subdomain.google.co.uk -> google.co.uk
from subdomain.ofasubdomain.google.com.au -> google.com.au 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-06 19:01:16

我不是域名专家-基于https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains,除了很小的例外,所有有2个字母后缀的域名将有something.bb.cc的主域,以及所有其他后缀(通常是3个字母),主域将是something.ccc

使用bash

代码语言:javascript
复制
domain=...
md=
p2='^(.*\.)?([^.]+\.[a-z]+\.[a-z][a-z])$'
p3='^(.*\.)?([^.]+\.(com|org|net|int|edu|gov|mil))$'
px='^(.*\.)([a-z]+)$'

   # 2 letter country codes
if [[ "$domain" =~ $p2 ]] ; then
    md=${BASH_REMATCH[2]};
   # 3 letters legacy domain
elif [[ "$domain" =~ $p3 ]] ; then
    md=${BASH_REMATCH[2]};
   # All Other
elif [[ "$domain" =~ $px ]] ; then
    md=${BASH_REMATCH[2]};

fi ;
echo "$domain -> $md"

可以扩展到处理几个4个字母的域

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58725861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档