递归Grep仅显示总匹配计数

Men*_*ega 11 bash shell grep

我正在尝试进行递归grep搜索,例如:

grep -r -c "foo" /some/directory
Run Code Online (Sandbox Code Playgroud)

这给我输出auch为:

/some/directory/somefile_2013-04-08.txt:0
/some/directory/somefile_2013-04-09.txt:1
/some/directory/somefile_2013-04-10.txt:4
...etc
Run Code Online (Sandbox Code Playgroud)

但是,我想获得所有文件中的匹配总数,例如:

Total matches:    5
Run Code Online (Sandbox Code Playgroud)

我已经玩了一些其他的例子,比如在这个帖子中,虽然我似乎无法做到应该如此简单的事情.

Hal*_*oum 26

grep -ro "foo" /some/directory | wc -l | xargs echo "Total matches :"
Run Code Online (Sandbox Code Playgroud)

-o选项可grep打印文件中字符串的所有现有出现.


小智 7

只是管道grep.

grep -r "foo" /some/directory | grep -c "foo"
Run Code Online (Sandbox Code Playgroud)