这是一个作业问题:
将所有文件名与2个或多个以小写字母开头但不以大写字母结尾的字符匹配。
我不明白为什么我的解决方案无法正常工作。
所以我执行了以下内容:
touch aa
touch ha
touch ah
touch hh
touch a123e
touch hX
touch Ax
ls [a-z]*[!A-Z]
输出:
aa ha
我的问题:为什么不匹配“ ah”,“ hh”或“ a123e”?
@Serg,请注意,除C语言环境外,POSIX未指定[AZ]的行为。
—
斯特凡Chazelas
mksh例如,zsh与的[A-Z]不匹配É。ksh93的[A-Z]比赛在,É但没有在h。
mksh的外壳,但没有bash --posix,所以得是对bash`一些具体的规则