加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Sed:替换特定部分

发布时间:2020-12-14 01:01:18 所属栏目:Linux 来源:网络整理
导读:我需要替换链接的特定部分 例如: http://sub.somedomain.com/s/be2b46b4cb28ed64fe59d191cb600117/2013/image.jpg 至 http://sub.somedomain.com/s/123123/2013/image.jpg 我尝试过的: echo "http://sub.somedomain.com/s/be2b46b4cb28ed64fe59d191cb60011
我需要替换链接的特定部分

例如:

http://sub.somedomain.com/s/be2b46b4cb28ed64fe59d191cb600117/2013/image.jpg

http://sub.somedomain.com/s/123123/2013/image.jpg

我尝试过的:

echo "http://sub.somedomain.com/s/be2b46b4cb28ed64fe59d191cb600117/2013/image.jpg" | sed "s@/s/(.+?)/@123123@g"

解决方法

sed "s@/s/[^/]*/@/s/123123/@g"

你的正则表达式的问题:

>括号(和)是基本正则表达式(BRE)中的常规字符(这里不需要它们)>在BRE中也不是特别的>如果你使用sed -E启用扩展正则表达式,你会匹配太多,因为你没有停在下一个斜线

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读