我在extendedglob
中启用了zsh
,但是扩展的glob似乎无效:
$ print -l /etc/*.@(cfg|conf)
zsh: no matches found: /etc/*.@(cfg|conf)
$ print -l /etc/*.(conf)
zsh: number expected
如何使用正则表达式列出/ etc中以.conf
或.cfg
结尾的文件?
答案 0 :(得分:1)
语法错误。 @(...)
构造与EXTENDED GLOB不相关,但与KSH_GLOB相关。
setopt extendedglob
print -l /etc/*.(cfg|conf)
作为旁注,您甚至不能使用正则表达式来生成文件列表。正则表达式只能用于匹配字符串。