我只想查看文本中包含特定单词的不同文件。
current_directory$ git grep 'word'
显示文件中具有匹配单词的每一行。
所以我尝试了这个
current_directory$ git grep 'word' -- files-with-matches
current_directory$ git grep 'word' -- name-only
但它没有显示任何输出。
另外,如何计算所有文件中“word”的总出现次数?
错误消息有帮助:
$ git grep 'foo' --files-with-matches
fatal: option '--files-with-matches' must come before non-option arguments
$ git grep --files-with-matches 'foo'
<list of matching files>
要计算单词数,这就是我要做的GNU grep https://www.gnu.org/software/grep/(我不确定是否git grep
有相关选项):
$ grep --exclude-dir=.git -RowF 'foo' | wc -l
717
From man grep
:
-R, --取消引用递归
递归读取每个目录下的所有文件。与 -r 不同,遵循所有符号链接。
-o, --仅匹配
仅打印匹配行的匹配(非空)部分,每个此类部分都在单独的输出上
线。
-w, --word-正则表达式
仅选择包含构成整个单词的匹配项的行。测试的是匹配
子字符串必须位于行的开头,或者前面有一个非单词组成字符。
同样,它必须位于行尾或后跟非单词组成字符。
单词组成字符是字母、数字和下划线。
-F, --固定字符串
将 PATTERN 解释为固定字符串列表(而不是正则表达式),以换行符分隔,
其中任何一个都需要匹配。
--exclude-dir=目录
从递归搜索中排除与模式 DIR 匹配的目录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)