假设您将一个文件传递给grep word
并想知道该文件中有多少次出现word
。如何在grep 工作时增加变量的值?
因此,例如,如果出现 3 次word
,我希望有一个输出,例如
1
2
3
打印在stout
(或保存到变量中)。
这个怎么样:
$ 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
考虑到评论的回应:
grep word file|awk '{print NR}'