使用–ignore-case和–only-match选项时,grep会失败。
例:
例:
$ echo "abc" | grep -io abc abc $ echo "ABC" | grep -io abc $
但
$ echo "abc" | grep -i abc abc $ echo "ABC" | grep -i abc ABC
根据手册页:
06002
我使用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]这样的解决方法,但这似乎不是一个好的选择。
这是一个
known
bug在最初的2.5.1,并已在2007年初修复(Redhat 2.5.1-5)根据错误报告。不幸的是苹果仍在使用2.5.1甚至在
Mac OS X 10.7.2。
您可以通过Homebrew (2.9)或MacPorts (2.10)或fink (2.9-1)获得较新的版本。
编辑:显然它已经修复在OS X 10.11(或许更早),即使报告的grep版本仍然是2.5.1。