bash - 在扩展模式匹配运算符中包含路径部分
问题描述
给定以下目录结构,其中所有叶子都是文件,
a
├── b
│ ├── d
│ │ └── f
│ └── e
│ └── g
└── c
├── d
│ └── h
└── e
└── i
以下命令列出文件f
和h
$ ls a/@(b|c)/d/.
但以下未能列出f
和i
$ ls a/@(b/d|c/e)
ls: cannot access 'a/@(b/d|c/e)': No such file or directory
显然,我不能在pattern-list
. 我的问题是一个,但也许把它分成几块更好:
- 为什么?
- 这样做是不可能的,有什么内在的原因吗?
- 如何使用 oneliner 获得相同的效果?
解决方案
推荐阅读
- sql - Presto SQL JOIN 在具有 NULL 值的列上
- node.js - POST 请求不适用于 POSTMAN 上的 JSON
- github - Travis-CI 不允许我重建测试
- syntax - 如何忽略模块实例化的一个或多个输出总线引脚
- lotusscript - Lotusscript forall 循环未能设置变量
- c++ - mac上如何使用c++17并行标准库算法?
- data-structures - 面向业务分析师的 Salesforce 表关系
- node.js - 使用 Node.js 后端的 React Native 出错
- ibm-doors - DXL 脚本使用 char c = str[i] 产生语法错误
- c - C - 如何在 realloc() 之后添加到 char 数组的末尾