使用grep -o统计文件中某个字符串出现的次数

昨天,老师课后给出了一道题:

统计/etc/passwd中有多少个sbin

菜鸡如我,没想到怎么做。只能在今天上课的时候认真听听老师讲的方法。

grep -o

grep命令有一个参数-o,可以逐行输出匹配的内容,有多少个匹配就有多少行。所以这道题可以这么做:

[root@localhost ~]# cat /etc/passwd | grep -o "sbin" | wc -l

wc -l 用来统计行数

另一种思路

老师还讲到了另一种思路,是利用/etc/passwd文件的特点,passwd中字段之间以:分隔,可以使用tr命令将其换成换行符,这样就不会出现一行有多个sbin的情况,然后也可以使用grep将所有的sbin找出来,再用wc -l统计个数

[root@localhost ~]# cat /etc/passwd | tr ":" "\n" | grep "sbin" | wc -l
posted @ 2020-04-01 11:11  Charramma  阅读(5103)  评论(0编辑  收藏  举报