每次grep找到一些东西时如何增加变量的值

时间:2012-12-21 12:43:11

标签: linux shell grep

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

例如,如果有word三次出现,我希望有一个输出,例如

1
2
3

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

考虑评论的回应:

grep word file|awk '{print NR}'