LINUX.ORG.RU

either I or egrep is crazy


0

0

Собственноб %subject%

~ >LC_ALL=C LANG=C echo "e" | egrep [A-Z]
e
~ >LC_ALL=C LANG=C echo "a" | egrep [A-Z]
~ >LC_ALL=C LANG=C echo "z" | egrep [A-Z]
z
~ >LC_ALL=C LANG=C echo "f" | egrep [A-Z]
f
~ >LC_ALL=C LANG=C echo "A" | egrep [A-Z]
A
~ >LC_ALL=C LANG=C echo "F" | egrep [A-Z]
F
~ >LC_ALL=C LANG=C echo "e" | egrep \[A-Z\]
e

Что это все означает, и почему маленькое
e удовлетворяет шаблону (хотя не должно) и
в чем разница между "a" и "e" ?

Установка locale появилась от безысходности,
игры с кавычками производились.

anonymous

Чувак, ты гонишь. Поставь кавычки вокруг шаблона.

sergey@canicula:~ $ echo e |egrep '[A-Z]'
sergey@canicula:~ $ echo E |egrep '[A-Z]'
E
sergey@canicula:~ $

Teak ★★★★★
()
Ответ на: комментарий от Teak

Ни кавычки ни апострофы к результату не приводят.

~ >echo e | egrep "[A-Z]" e ~ >echo e | egrep '[A-Z]' e ~ >which egrep /bin/egrep ~ >rpm -qf /bin/egrep grep-2.5.1-7

Бред какой-то ...

Могу ли я надеяться, что с ума сошел именно egrep/glibc, но не я? ;)

anonymous
()
Ответ на: комментарий от anonymous

Можно конечно спросить, что у тебя за shell, но вряд ли он у тебя настолько долбанутый, что расширяет выражения в одинарных кавычках :) Стало быть гонит grep. Чуйствует моё сердце, что система у тебя - самосбор (grep в /bin явно свидетельствует о нетривиальности "дистрибутива"). Так что вопрос всё-таки к тебе самому, как ты сумел добиться такого результат :)

А вообще-то это в General...

Teak ★★★★★
()
Ответ на: комментарий от Teak

Спасибо.

Система очень близка к Redhat 9, но все остальные вопросы я действительно могу задать сам себе.

Приходишь в понедельник после не очень легких выходных на работу, а тут такая фигня...

Сразу возникают сомнения в основных жизненных ценностях ;((

anonymous
()
Ответ на: комментарий от anonymous

alias ничего не говорит ни про e, ни про grep, ни про egrep.
Запуск /bin/grep -E приводит к тому же результату.

BASH_VERSION='2.05b.0(1)-release'

Поведение не зависит от текущего каталога и пользователя и,
что самое забавное, воспроизводится на другой машине, имеющей ту же историю (ставившейся с того же дистрибутива тем же недоступным для общения человеком).

rpm -V не говорит ничего, rpm -V -vv не говорит ничего криминального

# rpm -V -vv `rpm -qf /bin/egrep`
D: открывается окружение базы данных /var/lib/rpm/Packages joinenv
D: открывается индекс базы данных /var/lib/rpm/Packages rdonly mode=0x0
D: заблокирован индекс базы данных /var/lib/rpm/Packages
D: открывается индекс базы данных /var/lib/rpm/Name rdonly mode=0x0
D: открывается индекс базы данных /var/lib/rpm/Pubkeys rdonly mode=0x0
D:  read h#     753 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D: ========== +++ grep-2.5.1-7 i386/linux 0x1
D: открывается индекс базы данных /var/lib/rpm/Depends create mode=0x0
D: открывается индекс базы данных /var/lib/rpm/Basenames rdonly mode=0x0
D:  read h#      13 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: /bin/sh                                       ДА (db files)
D:  Requires: /bin/sh                                       ДА (кэширован)
D:  Requires: /bin/sh                                       ДА (кэширован)
D:  read h#     586 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: /sbin/install-info                            ДА (db files)
D: открывается индекс базы данных /var/lib/rpm/Providename rdonly mode=0x0
D:  read h#      71 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: libc.so.6                                     ДА (db provides)
D:  read h#      71 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: libc.so.6(GLIBC_2.0)                          ДА (db provides)
D:  read h#      71 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: libc.so.6(GLIBC_2.1)                          ДА (db provides)
D:  read h#      71 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: libc.so.6(GLIBC_2.1.3)                        ДА (db provides)
D:  read h#      71 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: libc.so.6(GLIBC_2.2)                          ДА (db provides)
D:  read h#      71 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: libc.so.6(GLIBC_2.2.3)                        ДА (db provides)
D:  read h#      71 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: libc.so.6(GLIBC_2.3)                          ДА (db provides)
D:  read h#     216 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: libpcre.so.0                                  ДА (db provides)
D:  read h#     216 Заголовок подпись DSA V3: NOKEY, key ID db42a60e
D:  Requires: pcre                                          ДА (db provides)
D:  Requires: rpmlib(CompressedFileNames) <= 3.0.4-1        ДА (rpmlib provides)
D:  Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1       ДА (rpmlib provides)
D: закрыт индекс базы данных /var/lib/rpm/Depends
D: закрыт индекс базы данных /var/lib/rpm/Pubkeys
D: закрыт индекс базы данных /var/lib/rpm/Providename
D: закрыт индекс базы данных /var/lib/rpm/Basenames
D: закрыт индекс базы данных /var/lib/rpm/Name
D: закрыт индекс базы данных /var/lib/rpm/Packages
D: закрыто окружение базы данных /var/lib/rpm/Packages

Такие вот ужасы нашего городка.

anonymous
()

Может, каким-нить макаром у ты по умолчанию case insensitive включился? Попробуй выключить...

С уважением -- Смоляное Чучелко

anonymous
()
Ответ на: комментарий от anonymous

Тут есть два момента. Я не очень в курсе, как _выключается_ case INsensitive и почему поведение по отношению к разным маленьким буквам разное.

Ладно, как было справеливо указано, в этой конференции тема несколько офтопична, так что давайте отложим обсуждение вопроса до тех пор, пока у меня будет время покопаться по направлению к истине, и, если повезет, до докопаться до нее. Если докопаюсь-таки - обязательно расскажу, в чем было дело.

Всем спасибо за моральную поддержку ;)

anonymous
()
Ответ на: комментарий от anonymous

Может эта переменная выставлена?
echo $GREP_OPTIONS

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.