我相当喜欢Mercurial .hgignore 风格的模式通配符。
Glob 的根目录为当前目录;诸如 *.c 之类的 glob 将仅匹配当前目录中以 .c 结尾的文件。
支持的 glob 语法扩展是 ** 用于匹配路径分隔符之间的任何字符串,而 {a,b} 则表示“a 或 b”。
有支持这个的 Linux shell 吗?
答案1
所有 shell 都支持标准 glob *.c
。 KSH、Bash 和 ZSH 支持大括号扩展 ( {a,b}
),但请注意,这不是文件 glob,因此它始终会扩展。 ZSH 的扩展通配符和 Bash globstar
(bash v4 或更高版本)支持**
递归通配符。