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

Linux下如何按最后一个_拆分文件夹路径为两个变量?

按最后一个下划线拆分Linux路径的高效方法

嘿,作为Linux新手不用纠结,这个需求完全不用分两条语句来处理!用shell自带的参数扩展功能,轻松就能同时拿到前后两部分内容,超方便的。

核心方法(以bash为例)

假设你把目标路径存在变量path里,直接用下面两个扩展就能分别提取前缀和后缀:

  • 提取最后一个下划线之前的内容:${path%_*}
    • 这个语法的意思是:从变量path的末尾开始,删除第一个匹配_*的部分(也就是最后一个下划线及之后的所有内容)
  • 提取最后一个下划线之后的内容:${path##*_}
    • 这个语法的意思是:从变量path的开头开始,删除最后一个匹配*_的部分(也就是最后一个下划线及之前的所有内容)

实际测试示例

# 测试第一种路径格式
path="Project_Data1_xxx"
prefix=${path%_*}
suffix=${path##*_}
echo "前缀: $prefix"  # 输出:Project_Data1
echo "后缀: $suffix"  # 输出:xxx

# 测试第二种路径格式
path="Project_Data1_Sub1_xxx"
prefix=${path%_*}
suffix=${path##*_}
echo "前缀: $prefix"  # 输出:Project_Data1_Sub1
echo "后缀: $suffix"  # 输出:xxx

额外说明

这种方法不需要依赖任何外部工具(比如awk、sed),是bash/zsh等主流shell原生支持的功能,执行效率高,而且写法简洁。你完全可以在同一个脚本里一次性定义这两个变量,不用拆分步骤~

内容的提问来源于stack exchange,提问作者Larry Van Brunt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:40:38