假设我有一个叫做变量$subdomain包含test.google.com.怎么可以剥夺我的子域获得google.com并将其存储在一个变量名为$ maindomain.
小智 5
一个子域名
maindomain=${subdomain#*.}
Run Code Online (Sandbox Code Playgroud)
有更多的子域名
maindomain=$(sed 's/.*\.\(.*\..*\)/\1/' <<< $subdomain)
Run Code Online (Sandbox Code Playgroud)
删除URI(如果有)
maindomain=$(sed 's/.*\.\(.*\..*\)/\1/' <<< ${subdomain%/*})
Run Code Online (Sandbox Code Playgroud)
maindomain=${subdomain#[[:alpha:]]*.}
Run Code Online (Sandbox Code Playgroud)
将删除“测试”。或第一个点之前的任何其他类似前缀。
更好的答案,因为我们可以有多个子子网域:
maindomain=$(expr match "$subdomain" '.*\.\(.*\..*\)')
Run Code Online (Sandbox Code Playgroud)
它仅保留xxxxxx.xxx域的尾部。