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

如何使用sed提取第4个与第5个/之间的目标文本?

sed提取路径中第4个与第5个斜杠间的文本

直接用sed的正则替换就能搞定,给你两个实用的写法:

写法一(基础转义版)

执行这条命令:

echo "/text1/text2/text3/wanted_text/text5/text6" | sed 's/^\/[^\/]*\/[^\/]*\/[^\/]*\/\([^\/]*\)\/.*$/\1/'

原理拆解:

  • ^\/[^\/]* 匹配开头的斜杠加第一个路径段(比如/text1)
  • 重复三次这个结构,就精准定位到/text1/text2/text3/这部分
  • \([^\/]*\) 用捕获组把第4个斜杠后、第5个斜杠前的内容(也就是wanted_text)抓出来
  • 最后用\1替换整个字符串,只保留捕获组里的目标内容

写法二(简化分隔符版)

如果觉得转义斜杠麻烦,可以换个分隔符(比如|),更易读:

echo "/text1/text2/text3/wanted_text/text5/text6" | sed -E 's|^/[^/]*/[^/]*/[^/]*/([^/]*)/.*$|\1|'

这里加了-E启用扩展正则,捕获组不用加额外反斜杠,写法更清爽。

执行任意一条命令,输出都是wanted_text。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:39:40