ls 模式匹配

ls 模式匹配

我知道这在模式匹配[]中起作用: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

相关内容