使用GREP计算短语的出现次数

One*_*ree 1 unix grep

使用GREP计算短语的出现次数

我有一个包含一堆文件的目录.因此,当我需要查看是否有任何文件包含某个短语时,我会使用

grep 'the phrase' mydir/*

有没有办法计算这些短语出现在这些文件中的总次数?

我用过 grep 'the phrase' mydir/* --count

但这会在每个单独的文件中出现,而不是总数,这不是我想要的.

Ben*_*enj 5

这应该这样做:

find mydir -print0 | xargs -0 grep 'the phrase' | wc -l
Run Code Online (Sandbox Code Playgroud)

find mydir -print0 - 找到mydirectory中的所有文件并将它们打印为空终止行)

xargs -0 - 转换空终止行的流并将它们转换为引用分隔的参数,例如"mydir/file 1""mydir/file 2"......这些现在可以传递到grep的arument列表中.

wc -l - 计算行数

空终止行业务与解决其中包含空格的文件有关,因为否则这些看起来像grep的多个参数.