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

如何列出目录下以A*/B*/C*开头的文件夹及子文件夹路径?命令异常排查

解决方法:查找a/b/c开头的所有文件夹(含子文件夹)

嘿,你的当前命令完全没踩对需求点啊!ls -l | egrep d是在找输出里带字母d的行,既没匹配a/b/c开头的目录,也没法递归查找子文件夹,肯定达不到预期效果。我给你几个靠谱的方案:

最推荐:用find命令(跨shell通用)

find是处理这类文件搜索场景的标准工具,能完美递归查找,还能准确匹配目录:

只显示完整路径

find /你的目标目录路径 -type d -name "[abc]*"

比如要搜索当前目录,就把路径换成.:

find . -type d -name "[abc]*"

参数解释:

  • -type d:只筛选文件夹(目录),排除普通文件
  • -name "[abc]*":匹配以a、b、c中任意一个开头的名称,[abc]是字符类,*匹配后续任意内容

显示详细信息(类似ls -l效果)

如果需要看权限、大小这些细节,加-ls参数就行:

find . -type d -name "[abc]*" -ls

Bash专属:用递归Glob(需Bash 4.0+)

如果你用的是Bash(大部分Linux默认shell),可以开启递归匹配功能:

  1. 先开启globstar选项(如果没开的话):
shopt -s globstar
  1. 然后用ls直接匹配递归目录:
ls -ld {a,b,c}**/

参数解释:

  • -ld:只显示目录本身的信息,不会展开目录里的内容
  • {a,b,c}**/:{a,b,c}匹配a/b/c开头的名称,**/表示递归匹配所有子目录

避坑提醒

  • 永远别用ls | grep这种方式处理文件/目录,遇到带空格、特殊字符的目录名会直接出错,find和shell glob才是正确姿势
  • 如果你的目标目录不是当前目录,记得把命令里的.换成实际路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:56:36