Not an emergency but it's been bugging me for a while and traffic seems
to be relatively light right now . . .
Throughout most of my Unix life a command like
ls -d [a-z]
would list only lower-case files. Sometime fairly recently in Linux
this has changed; thus, in one of my directories,
> ls -d [a-z]
I/ K b/ c/ d/ f/ g/ h/ n/ r/ t/ w/ x/
As you can see, [a-z] includes both upper- and lower-case items. For
quite I while I was under the misapprehension that this was because the
[-] operator had gotten case-insensitive, but this is not the case:
> ls -d [abcdefghijklmnopqrstuvwxyz]
b/ c/ d/ f/ g/ h/ n/ r/ t/ w/ x/
So what's happened instead is that the order in which things are search
has changed: instead of having a meaning interpretted in ASCII order
it's in dictionary order.
This is not brand-new; it's true in Mandrake 7.0 but it was also true in
RedHat 6.1. But it was not true in Caldera OpenLinux 2.2 or RedHat 5.2
or any earlier Unix or Unix-like system I ever used before (HP-UX,
Solaris, FreeBSD, real BSD).
I suppose that I can see why this would be done on the grounds of being
"intuitive", but it's a lot less useful; with the old interpretation it
was easy to express ideas like "lower-case" or "upper-caes" and it only
took a few extra keystrokes to get any character range in both cases,
but it takes lots to now express "uppercase" or "lowercase".
Anyway, does anybody know
- Why this was done?
- Who decided to do this?
- If there's something that can be done to switch it back?
--
"Brian, the man from babble-on" [EMAIL PROTECTED]
Brian T. Schellenberger http://www.babbleon.org
Support http://www.eff.org. Support decss
defendents.
Support http://www.programming-freedom.org. Boycott amazon.com.