如何用sed在URL末尾添加斜杠且无需指定顶级域名?
无需指定顶级域名,给URL末尾添加斜杠的sed命令修改方案
你原来的命令只针对com域名生效,是因为硬编码了顶级域名,改成通用匹配即可,以下两种方案按需选择:
方案1:仅给没有末尾斜杠的URL补加斜杠
执行命令:
cat urls.txt | sed 's/[^/]$/&\//'
- 原理:
[^/]$匹配行尾不是斜杠的字符,&\//在匹配到的字符后追加斜杠,只处理原本没有斜杠的URL。
方案2:统一所有URL末尾为斜杠(兼容已有斜杠的情况)
如果部分URL已经带斜杠,想统一格式,用这个命令:
cat urls.txt | sed 's/\/$//;s/$/\//'
- 原理:先通过
s/\/$//移除行尾已有的斜杠,再用s/$/\//给所有行末尾添加斜杠,确保最终每个URL都以斜杠结尾。
内容的提问来源于stack exchange,提问作者xibrahim
相关产品推荐
相关产品推荐

