git grep "\<blah\>"
Linux開発サーバーで定期的に実行していますが\<
、\>
Mac(Mac OS X 10.6.8)で使用できないことを発見しました(使用できない=何も見つかりません)。Mac では正規表現の構文が異なりますか?
使ってみgit grep -E "\<blah\>"
たけどダメ!:-(
これにも苦労した後、BSDメーリングリストでこの非常に役立つ投稿を見つけました。だからここに(かなり醜いですが)解決策があります:
git grep "[[:<:]]blah[[:>:]]"
git-grepの-w
フラグも機能しますが、単語の先頭または末尾のみを一致させたい場合があります。
更新:これは OS X 10.9 "Mavericks" で変更されました。\<
、\>
、およびを使用できるようになり\b
ました。[[:<:]]
および[[:>:]]
サポートされなくなりました。
BSD vs Linux grep ライブラリが原因だと思います。
git grep の -w (単語境界でのみパターンに一致) オプションがそれを行うかどうかを確認します。
$ git grep -w blah
PCRE
サポート付きで git をコンパイルしgit grep -P "\bblah\b"
、単語境界に使用できます。
OSX Homebrew を使用して git をコンパイルする方法のガイドは次のとおりです 。