Ты уверен?В моей системе (OS X Snow Leopard) обе команды возвращают одинаковые результаты;только слова из 3 букв в нижнем регистре.
$ egrep "^[a-z]{3}$" /usr/share/dict/words | wc -l
1134
$ egrep "^[[:lower:]]{3}$" /usr/share/dict/words | wc -l
1134
$ egrep "^[[:lower:]]{3}$" /usr/share/dict/words | md5
0a66d5e78cfbe6f9f66d2d90b1053972
$ egrep "^[a-z]{3}$" /usr/share/dict/words | md5
0a66d5e78cfbe6f9f66d2d90b1053972
Какую систему вы используете?Возможно, попробуйте man egrep
и найдите вариант чувствительности к регистру.egrep
, поставляемый с OSX, предлагает только противоположное -i, --ignore-case ignore case distinctions
.
Обновление:
Я также проверил это на Linux CentX Box также:
$ egrep "^[a-z]{3}$" /usr/share/dict/words | wc -l
2044
$ egrep "^[[:lower:]]{3}$" /usr/share/dict/words | wc -l
2044
$ egrep "^[a-z]{3}$" /usr/share/dict/words | md5sum
480fb21554f9f731adddb0d648157926 -
$ egrep "^[[:lower:]]{3}$" /usr/share/dict/words | md5sum
480fb21554f9f731adddb0d648157926 -
Обновление № 2:
Ваши комментарии показывают, что вы можете передавать -i
или --ignore-case
в egrep
.Отключите это, чтобы получить только результаты нижнего регистра.