如何在bash中创建for循环grep

如何在bash中创建for循环grep,bash,for-loop,grep,Bash,For Loop,Grep,我试图创建一个for循环,分别计算目录中每个文件中的关键字数 例如,如果一个目录有2个文件,我想让For循环说 foo.txt = found 4 keywords bar.txt = found 3 keywords 到目前为止,我已经写了以下内容,但它给出了所有文件的关键字总数,而不是每个单独的文件的关键字总数 我得到的结果是 7 keywords founds 而不是上述所需的输出 这是我想到的 for i in *; do egrep 'The version is out of d

我试图创建一个for循环,分别计算目录中每个文件中的关键字数

例如,如果一个目录有2个文件,我想让For循环说

foo.txt = found 4 keywords
bar.txt = found 3 keywords
到目前为止,我已经写了以下内容,但它给出了所有文件的关键字总数,而不是每个单独的文件的关键字总数

我得到的结果是

7 keywords founds
而不是上述所需的输出

这是我想到的

for i in *; do egrep 'The version is out of date|Fixed in|Identified the following' /path/to/directory* | wc -l ; done

只需使用grep的
-c
计数选项:

grep -c <pattern> /path/to/directory/*

注意,这将统计匹配的行,而不是单个匹配的模式。因此,如果一个模式在一行上出现两次,它将只计算一次。

这正是我要寻找的!非常感谢。
bar.txt:2
foo.txt:1