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

Shell脚本如何忽略大小写进行文件匹配?求解决方案

解决Shell脚本中忽略大小写匹配文件名的问题

以下几种方法可以实现忽略大小写的文件名匹配,无需手动重命名文件:

方法1:Bash下开启大小写不敏感通配

Bash内置nocaseglob选项,开启后通配符会忽略大小写:

# 开启大小写不敏感匹配
shopt -s nocaseglob
# 执行移动操作,此时fav*.jpg会匹配Fav*.jpg、FAV*.jpg等
mv fav*.jpg target_directory/
# 可选:关闭该选项,恢复默认的大小写敏感匹配
shopt -u nocaseglob

方法2:显式指定字符大小写范围

如果需要兼容更多Shell环境(比如sh),可以用字符集通配符,把每个可能大小写的字符用[]包裹:

# [Ff]匹配F或f,[Aa]匹配A或a,[Vv]匹配V或v
mv [Ff][Aa][Vv]*.jpg target_directory/

方法3:用find命令实现忽略大小写查找

如果需要更灵活的文件查找(比如递归查找子目录),可以用find的-iname选项(忽略大小写的文件名匹配):

# -maxdepth 1 限制只查找当前目录,-type f 确保是文件
find . -maxdepth 1 -type f -iname 'fav*.jpg' -exec mv {} target_directory/ \;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:05:58