如何使用sed命令去除URL末尾的多余斜杠?
使用sed去除URL末尾的多余斜杠
核心命令
根据需求,你可以用以下sed命令处理URL:
处理单条URL(或管道输入)
直接在终端验证效果:
echo "https:/www.sony.com/SonyInfo/News/Press/202004/20-0416E////" | sed 's/\/\+$//'
批量处理文件中的URL
如果所有URL都保存在urls.txt文件中,用-i选项直接原地修改文件:
sed -i 's/\/\+$//' urls.txt
命令解释
sed 's/\/\+$//' 各部分的作用:
s:代表sed的替换操作\/\+:匹配一个或多个斜杠(斜杠是sed替换命令的分隔符,所以需要用\转义;\+表示匹配前面的字符至少一次)$:锚定到行的末尾,确保只删除行尾的多余斜杠,不会影响URL路径中间的正常斜杠- 末尾的
//:将匹配到的内容替换为空,也就是直接删掉末尾的多余斜杠
处理后效果
你提供的URL列表处理后会变成:
https:/www.sony.com/SonyInfo/News/Press/202004/20-0416E
http:/www.sony.com.au/section/careers
http:/www.sony.com.au/section/careers
http:/www.sony.com.my/electronics/careers
http:/www.sony.com.ph/electronics/careers
http:/www.sony.com.sg/section/careers
内容的提问来源于stack exchange,提问作者xibrahim
相关产品推荐
相关产品推荐

