5

git grep "\<blah\>"Linux開発サーバーで定期的に実行していますが\<\>Mac(Mac OS X 10.6.8)で使用できないことを発見しました(使用できない=何も見つかりません)。Mac では正規表現の構文が異なりますか?

使ってみgit grep -E "\<blah\>"たけどダメ!:-(

4

3 に答える 3

6

これにも苦労した後、BSDメーリングリストでこの非常に役立つ投稿を見つけました。だからここに(かなり醜いですが)解決策があります:

git grep "[[:<:]]blah[[:>:]]"

git-grepの-wフラグも機能しますが、単語の先頭または末尾のみを一致させたい場合があります。

更新:これは OS X 10.9 "Mavericks" で変更されました。\<\>、およびを使用できるようになり\bました。[[:<:]]および[[:>:]]サポートされなくなりました。

于 2013-02-17T21:20:05.153 に答える
5

BSD vs Linux grep ライブラリが原因だと思います。

git grep の -w (単語境界でのみパターンに一致) オプションがそれを行うかどうかを確認します。

$ git grep -w blah
于 2011-09-30T11:20:11.767 に答える
3

PCREサポート付きで git をコンパイルしgit grep -P "\bblah\b"、単語境界に使用できます。

OSX Homebrew を使用して git をコンパイルする方法のガイドは次のとおりです

于 2013-04-26T18:29:12.120 に答える