I used to useĀ LC_ALL=C, but, as I vaguely recall, it got in the way of dealing with UNICODE. I tried a couple LC values aimed at UNICODE and the US, but something always went pear-shaped. I finally give up. I am perfectly happy to suffer a tiny bit of performance, to have most things work without thinking. A factor of 6, or 35, is not tiny, since I use grep and friends intensely. That's how I discovered the performance problem to begin with. Anyway, thank you for fixing my problem. I suspect that many of us pioneers (using UNIX since 1973) have '[0-9]' wired into our fingers.