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

如何用Glob匹配src目录及其子目录下所有.tsx文件?

匹配src目录及其所有子目录下的.tsx文件的Glob模式

给定文件结构:

A.tsx
B.tsx
dist/C.tsx
dist/D.tsx
src/E.tsx
src/F.tsx
src/G.js
src/component/H.tsx
src/component/I.tsx
src/component/J.js

需要列出src目录及其所有子目录下的所有.tsx文件,但现有命令存在局限:

  • ls src/*.tsx:仅匹配src根目录下的.tsx文件,不包含子目录内容
  • ls src/**/*.tsx:仅匹配src子目录下的.tsx文件,不包含src目录本身的文件

可行方案

1. 合并两个Glob模式

直接在命令中同时指定两个模式,用空格分隔,一次性覆盖两种场景:

ls src/*.tsx src/**/*.tsx

2. 使用花括号展开简化写法

利用shell的花括号展开特性,将两个模式合并为一个更简洁的写法:

ls src/{,**/}*.tsx

这个写法等价于src/*.tsx + src/**/*.tsx,能同时匹配src根目录和所有子目录下的.tsx文件。

3. 用find命令替代(跨平台更可靠)

如果需要跨不同shell环境,find命令是更稳妥的选择,它会递归遍历src目录并筛选目标文件:

find src -name "*.tsx"

注:如果使用bash,需要确保globstar选项已开启(执行shopt -s globstar),**才能递归匹配子目录;zsh默认支持globstar,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 16:00:06