我需要替换链接的特定部分
例如:
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"
答案 0 :(得分:5)
sed "s@/s/[^/]*/@/s/123123/@g"
正则表达式出现问题:
(
和)
是基本正则表达式(BRE)中的常规字符(此处并不需要它们)+
在BRE中也不是特别的sed -E
启用了扩展正则表达式,那么您将匹配太多,因为您没有停留在下一个斜杠