0

假设您将一个文件传递给grep word并想知道该文件中有多少次出现word。如何grep 工作时增加变量的值?

因此,例如,如果出现 3 次word,我希望有一个输出,例如

1
2
3

打印在stout(或保存到变量中)。

4

2 回答 2

3

这个怎么样:

$ cat file
word
bird
is
this
word
word word word

$ fgrep -o word file | awk '{print NR}'
1
2
3
4
5

如果您只想计算匹配的行而不是每个匹配的行,请删除该-o选项:

$ fgrep word file | awk '{print NR}'
1
2
3

如果您只想将总数保存到变量中:

$ count=$(fgrep -o word file | wc -l)

$ echo $count
5

$ count=$(grep -c word file)

$ echo $count
3

增量变量:

#/bin/bash

while read line; do 
    fgrep -q word <<< "$line" && ((count++)) 
done < file
于 2012-12-21T12:48:26.053 回答
0

考虑到评论的回应:

grep word file|awk '{print NR}'
于 2012-12-21T15:17:54.773 回答