grep --ignore-case --only

grep не работает при использовании опций --ignore-case и --only-match. Пример:

$ echo "abc" | grep -io abc
abc
$ echo "ABC" | grep -io abc
$ 

Но

$ echo "abc" | grep -i abc
abc
$ echo "ABC" | grep -i abc
ABC

Согласно man-странице:

 -o, --only-matching
 Показать только ту часть строки, которая соответствует ПАТТЕРНУ.
 -i, --ignore-case
 Игнорировать различия регистра как в PATTERN, так и во входных файлах.

Это ошибка grep или я не получил страницу карты?

Я использую Mac OS X 10.6.8 и

$ grep --version
grep (GNU grep) 2.5.1

Нашел эту ссылку: http://lists.gnu.org/archive/html/bug-gnu-utils/2003-11/msg00040.html

Конечно, можно использовать обходной путь типа grep -o [aA][bB][cC], но это не кажется хорошим вариантом.

69
задан schatten 14 December 2011 в 01:13
поделиться