如何使用bash从url中提取域名?比如:http://example.com/ to example.com必须适用于任何tld,而不仅仅是.com。
发布于 2012-07-09 02:50:30
您可以使用简单的AWK方式提取域名,如下所示:
echo http://example.com/index.php | awk -F[/:] '{print $4}'
输出:example.com
:-)
发布于 2010-03-24 17:52:18
$ URI="http://user:pw@example.com:80/"
$ echo $URI | sed -e 's/[^/]*\/\/\([^@]*@\)\?\([^:/]*\).*/\2/'
example.com
发布于 2010-03-30 03:34:05
basename "http://example.com"
当然,这不适用于这样的URI:http://www.example.com/index.html
,但您可以执行以下操作:
basename $(dirname "http://www.example.com/index.html")
或者对于更复杂的URI:
echo "http://www.example.com/somedir/someotherdir/index.html" | cut -d'/' -f3
-d表示“分隔符”,-f表示“字段”;在上面的示例中,由正斜杠'/‘分隔的第三个字段是www.example.com。
https://stackoverflow.com/questions/2497215
复制相似问题