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 Show only the part of a matching line that matches PATTERN. -i, --ignore-case Ignore case distinctions in both the PATTERN and the input files.
Является ли это ошибкой 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]
, но это не кажется хорошим вариантом.