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

使用zsh移动符合特定模式的子文件夹

解决方法

先确保目标目录存在,执行:

mkdir -p newfolder

然后直接用zsh的通配符特性一次性匹配并移动所有符合条件的文件夹:

mv **/*-hi(/) newfolder/

命令解释

  • **:递归匹配当前目录下所有层级的子目录
  • *-hi:匹配名字以-hi结尾的条目
  • (/):zsh的glob限定符,只筛选出目录(避免误移同名文件)

如果你的-hi文件夹只在当前目录的直接子目录下(比如folder1/abcd-hi这种结构,没有更深的嵌套),也可以用更简洁的写法:

mv */*-hi(/) newfolder/

你原来代码的问题

  1. 引号包裹了$Folder/*-hi,zsh不会解析里面的通配符*,会把它当成一个字面文件名,自然找不到对应目录
  2. 没必要逐个遍历父目录,zsh的通配符可以直接完成批量匹配

测试建议

执行移动前可以先打印匹配结果确认:

echo **/*-hi(/)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:55:18