我知道这在模式匹配[]
中起作用:ls
$ ls
foo.c foo.h
$ ls foo.[ch]
foo.c foo.h
但我找不到记录在哪里。
我想知道与这些相匹配的语法:
$ ls
foo.asd foo.qwe
这是我最好的猜测:ls foo.[{asd}{qwe}]
。它不起作用。
答案1
我认为您正在寻找大括号扩展{asd,qwe}
:
$ ls foo.{asd,qwe}
foo.asd foo.qwe
答案2
通配模式将是ls foo.@(asd|qwe)
.这有效
- 开箱即用的 ksh 格式;
- 在 bash 中,如果使用
shopt -s extglob
;激活“扩展通配” - 在 zsh 中,如果使用 激活 ksh 样式的 glob
setopt ksh_glob
。