stk*_*sfr 13 git grep file-extension
如何执行git grep并将检查的文件限制为一组文件.我希望能够grep查找MyFunc的.cpp和.h文件的内容.例如:
git grep "MyFunc" -- *.[hc]*
Run Code Online (Sandbox Code Playgroud)
但是,这也匹配.c文件和.cs文件.
Joh*_*lor 12
使用:
git grep "MyFunc" -- '*.cpp' '*.h'
Run Code Online (Sandbox Code Playgroud)
引号是必要的,以便git扩展通配符而不是shell.如果省略它们,它只会搜索当前目录中的文件,而不是包含子目录.
在Windows中使用git bash时,可以通过以下方式实现:
git grep "MyFunc" -- *.{cpp,h}
Run Code Online (Sandbox Code Playgroud)
甚至更简单:
git grep "MyFunc" -- *.cpp *.h
Run Code Online (Sandbox Code Playgroud)
对git词汇表的pathspec的解释提到,使用fnmatch(3)匹配模式。它按照IEEE Std 1003.1-2001的Shell and Utilities卷第2.13.1节中的描述匹配模式(包括多个字符),并导致匹配多个字符的基本正则表达式,这给了我第一个解决方案。
进一步的研究通过研究关于glob的文档将我引向第二种解决方案。
| 归档时间: |
|
| 查看次数: |
3853 次 |
| 最近记录: |