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

Shell脚本for循环输出文件名时如何去掉完整路径仅保留文件名

Shell脚本调整方案

你可以通过以下两种常用方式修改脚本,仅输出纯文件名:

方式1:使用basename命令(可读性强)

basename是系统自带的路径处理工具,专门用于提取路径中的文件名部分,修改后的完整脚本如下:

INBOX=/home/tmp/
for fileName in "$INBOX"abc*.csv
do
    basename "$fileName"
done

方式2:使用Shell原生参数扩展(性能更高)

无需调用外部命令,直接用Shell内置的字符串处理能力即可实现,执行效率更高,修改后的完整脚本如下:

INBOX=/home/tmp/
for fileName in "$INBOX"abc*.csv
do
    echo "${fileName##*/}"
done

其中${fileName##*/}的逻辑为:从路径字符串的开头,匹配最长的符合*/规则的前缀并删除,最终剩余部分就是纯文件名。

注意:给变量包裹双引号可以避免文件名包含空格、特殊字符时出现执行错误,建议养成该编码习惯。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:45:03