私はすべてline breaks after some binary operatorsをgit bashを使ってWindowsマシンでgrepしようとしています。動作しませんでした、次のコマンドを試してみましたgit grep <改行を含む正規表現>
:
$ git grep "[+-*\|%]\ *\n"
fatal: command line, '[+-*\|%]\ *\n': Invalid range end
$ git grep "[+\-*\|%]\ *\n"
fatal: command line, '[+\-*\|%]\ *\n': Invalid range end
[OK]を、私は、方法がわからない「 - 」文字セットで、まだ\n
それを削除した後は、文字通りの文字n
に一致します:
$ git grep "[+*%] *\n"
somefile.py: self[:] = '|' + name + '='
^^^
一度(\\n
)をバックスラッシュをエスケープしても効果はありませんし、それを2回エスケープ(\\\n
)正規表現は(文字通り)\n
に一致するようになります。
grepの正しい方法は何ですか?
ありがとう!私は 'grep '[ - + * |%] \ s * $''を使ってウィンドウの行末を説明しなければなりませんでした。私は[grep manual](https://www.gnu.org/software/grep/manual/grep.html#Character-Classes-and-Bracket-Expressions)で答えを見つけることができたことが判明しました。参考:[バージョン管理されたソースコードを検索したい場合は、git grepをプレーンgrepよりも使用する方が良いですか?](http://stackoverflow.com/questions/17557684/is-it-better-to-use-git- grep-than-plain-grep-if-we-want-to-version-in-versioned-s) – AXO