什么是[AZ]意思是[A-Za-z]?

cha*_*aos 12 regex unix linux shell grep

我已经注意到一段时间了,至少在我使用的一些基于Unix的系统上,我ls [A-Z]*已经给了我预期的结果ls [A-Za-z]*,让我无法轻易得到一个开头的那个该死的文件列表大写字母.我刚刚遇到了同样的事情grep,我无法让它停止匹配小写字母[A-Z]直到我最终用来grep -P获得Perl正则表达式.

所以我有一些相关的问题:

  1. 这个白痴何时开始?
  2. 谁负责,需要受到惩罚?
  3. 为什么???
  4. 有没有的一方或双方合理一些简单的解决方法lsgrep案例?(例如,尝试grep --no-ignore-case没有结果. grep -P由于其实验性功能状态,这不是一个非常好的解决方法.)

Ign*_*ams 15

实际上[A-Za-y],这与语言整理有关.如果你想覆盖它,那么$LC_COLLATE适当设置; 任何CPOSIX应该做的.

  • 哦,我非常喜欢委员会设计的标准,这让我很伤心. (5认同)