我正在尝试使用git bash在Windows机器上搜索项目中所有二进制运算符后的换行符。
尝试了以下命令但没有成功:
尝试了以下命令但没有成功:
$ git grep "[+-*\|%]\ *\n"
fatal: command line, '[+-*\|%]\ *\n': Invalid range end
$ git grep "[+\-*\|%]\ *\n"
fatal: command line, '[+\-*\|%]\ *\n': Invalid range end
好的,我不知道如何在字符集中包含“ - ”,但是即使删除它,\n
仍然与字符n
匹配:
$ git grep "[+*%] *\n"
somefile.py: self[:] = '|' + name + '='
^^^
反斜线只转义一次(\\n
)没有作用,而连续转义两次(\\\n
)会导致正则表达式匹配\n
(字面上的反斜线和n)。
这里正确的grep方式是什么?
grep '[-+*|%]\s*$'
来解决Windows换行符的问题。结果我在 grep手册 中也找到了答案。另请参见:如果我们想搜索版本控制的源代码,是否最好使用git grep而不是普通grep? - AXO