You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bash中提取//与.之间的子字符串?

提取URL中//与.之间的子字符串方法

需求:从URL https://hello.world.example.com 中提取//与第一个.之间的子字符串hello。

已验证有效的awk方法

你尝试的awk命令确实可以得到目标结果,它通过将/和.作为分隔符,分割后取第2个字段:

echo 'https://hello.world.example.com' | awk -F[/.] '{print $2}'

该方法对http://开头的URL同样适用,无需修改。

更精准的sed方法

用正则精准匹配//后到第一个.的内容,避免分隔符带来的意外情况:

echo 'https://hello.world.example.com' | sed -E 's/.*\/\/([^.]+)\..*/\1/'

正则逻辑:匹配任意字符直到//,捕获第一个.前的所有非.字符,最终仅保留捕获的内容。

grep方法(支持Perl正则)

借助正向预查定位//,直接提取目标内容:

echo 'https://hello.world.example.com' | grep -oP '(?<=//)[^.]+'

-o参数仅输出匹配部分,(?<=//)确保前面是//,[^.]+匹配所有非.字符直到第一个.。

内容的提问来源于stack exchange,提问作者ratzip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:10:29