统计一个文件中某个字符串的个数,其实就像在一块沙地里面找一块石头,有的人看到石头以后,在上面做个标记(grep),然后记住自己做了多少个标记;有的人看到石头以后,把它跳过去(awk),然后统计自己跳了多少次。
方法1: grep(使用 -o)
#grep
#-o, --only matching show only the part of a line matching PATTERN
# grep -o 'root' passwd | wc -l
4
方法2: awk(使用 -v)
#awk
#-v var=val --assign=var=val
#awk -v RS='root' 'END{print --NR}' /etc/passwd
4
-v 去设定一个变量的值,RS是记录的分隔符,默认的是新行(\n),就是说awk按照一行一行读数据,但是现在RS为'haha'后,就按'haha'读数据了,NR为已读的记录数,n个记录是被n-1个分隔符分开的,所以就是--NR了。
^ - ^ ......