grep某些文件中的模式并在每个文件中打印总和

时间:2013-01-15 12:45:16

标签: linux grep

我想在某些文件中grep一个模式,并用文件名计算出现的次数。是的,如果我使用

grep -r "month" report* | wc -l

它将汇总所有文件中的所有实例。因此输出是单个值324343。我想要这样的东西

report1: 3433
report2: 24399
....

grep命令将显示文件名,但会打印每个实例。

2 个答案:

答案 0 :(得分:0)

grep -c会为您提供每个文件的匹配计数:

grep -rc "month" report*

答案 1 :(得分:0)

您需要将每个文件传递给grep:echo report* | xargs grep -c month

如果递归,请使用find report* -exec grep month -Hc '{}' \;