我想使用git grep
命令查找包含两个预设单词(如果两个单词都存在,即进行 AND
操作)的文件,假设这两个单词是word1
和word2
我尝试过:
git grep -e 'word1' --and -e 'word2'
同时我也尝试过
git grep 'word1'.*'word2'
但是这两种方式只有在word1
和word2
在同一行时才会检索到结果,而第二种方式则不会在word2
出现在行首时进行检索,这并不是我想要的。
我希望能够检索到这些文件,即使这两个单词不在同一行(我不确定它们之间有多少行,顺序也不重要;任何顺序都应该被获取)。
这是否可能?
git grep -l word1 | xargs git grep -l word2
这样做... 如果你的文件名中包含空格或其他奇怪字符,可能需要再进行一些尝试和调整... - twalberg