首页 > 解决方案 > 单个 glob 表达式以匹配具有给定名称的子目录的内容,但不匹配具有该名称的(父)目录的内容

问题描述

给定以下路径:

@c8y/apps
@c8y/client
project-a/@c8y/client
project-b/@c8y/client
foo/@c8y/client
bar/@c8y/client
baz/@c8y/client
qux/@c8y/client

我希望只匹配具有“@c8y”作为子目录的条目: ☒ @c8y/apps ☒ @c8y/client ☑ project-a/@c8y/client ☑ project-b/@c8y/client ☑ foo/@c8y/client ☑ bar/@c8y/client ☑ baz/@c8y/client ☑ qux/@c8y/client

我尝试过**/@c8y/**{!,**/}@c8y/**失败了,之后几乎卡住了

是否有一个单一的 glob 表达式可以实现这一点?

标签: glob

解决方案


如果你想在之前只需要一个子目录@c8y,你可以使用*

*/@c8y/client

**匹配 0 个或多个路径组件的 不同,*始终只匹配一个级别。


推荐阅读