使用GREP计算短语的出现次数
我有一个包含一堆文件的目录.因此,当我需要查看是否有任何文件包含某个短语时,我会使用
grep 'the phrase' mydir/*
有没有办法计算这些短语出现在这些文件中的总次数?
我用过 grep 'the phrase' mydir/* --count
但这会在每个单独的文件中出现,而不是总数,这不是我想要的.
这应该这样做:
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的多个参数.