我想只查看其文本中有特定字词的不同文件。
current_directory$ git grep 'word'
显示文件的每一行都有匹配的单词
所以我试过这个
current_directory$ git grep 'word' -- files-with-matches
current_directory$ git grep 'word' -- name-only
但它没有显示任何输出。
另外,有人可以告诉我如何计算所有文件中'word'的总出现次数。
任何帮助都会感激不尽:)
答案 0 :(得分:7)
错误消息有帮助
$ 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
这样做,不确定git grep
是否有相关选项
$ grep --exclude-dir=.git -RowF 'foo' | wc -l
717
来自man grep
-R, - dereference-recursive 递归地读取每个目录下的所有文件。跟随所有符号链接,与-r。
不同-o, - 仅匹配 仅打印匹配行的匹配(非空)部分,每个此类部分位于单独的输出上 线。
-w, - word-regexp 仅选择包含构成整个单词的匹配项的行。测试是匹配的 substring必须位于行的开头,或者前面是非单词构成字符。 同样,它必须位于行的末尾或后跟非单词构成字符。 单词构成字符是字母,数字和下划线。
-F, - 固定字符串 将PATTERN解释为固定字符串列表(而不是正则表达式),由换行符分隔, 其中任何一个都要匹配。
- 排除-DIR = DIR 从递归搜索中排除与模式DIR匹配的目录。
答案 1 :(得分:0)
docker inspect -f '{{ .Name }}{{ printf "\n" }}{{ range .Mounts }}{{ printf "\n\t" }}{{ .Type }} {{ if eq .Type "bind" }}{{ .Source }}{{ end }}{{ .Name }} => {{ .Destination }}{{ end }}{{ printf "\n" }}' <continaer-id>
“-匹配文件”必须在搜索字符串之前