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

如何用单条sed命令去除字符串中的WEB-INF/lib/前缀

单条sed命令提取文件名的可行方案

针对你需要从字符串WEB-INF/lib/abc.jar提取abc.jar的需求,以下是几种单条sed命令的实现方式:

  • 通用提取最后一个斜杠后的文件名:
    这个方法不受前面路径结构限制,能直接提取最后一段文件名:

    echo "WEB-INF/lib/abc.jar" | sed 's/.*\///'
    

    原理:.*\/会匹配从字符串开头到最后一个/的所有内容,将其替换为空后,剩下的就是目标文件名。

  • 精准替换指定路径前缀:
    如果你的路径固定是WEB-INF/lib/开头,直接一次性替换前缀更精准:

    echo "WEB-INF/lib/abc.jar" | sed 's/WEB-INF\/lib\///'
    

    原理:直接匹配完整的前缀WEB-INF/lib/并替换为空,一步得到结果。

  • 合并原有两条替换逻辑:
    若想保留原来的替换思路,只需在单条sed里用分号分隔两个替换表达式(注意保留lib后的斜杠,避免残留多余符号):

    echo "WEB-INF/lib/abc.jar" | sed 's/WEB-INF//g; s/lib\///g'
    

    原理:先移除WEB-INF,再移除lib/,最终得到目标文件名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 05:40:23