awk -F: '$3<5{next}END{print NR}' /etc/passwd
展开全部
我猜你这句话本意是想查到user_ID大于5的用户个数吧!可是这样是做不到的,这样写统计的永远是总用户数。
首先:next的用法:强迫awk立刻停止处理当前的记录,而开始读取和处理下一条记录。更通俗一点讲:比如,你正在排队办理入学手续,人家看你还没交费,就next,下一个过来办,你先到财务交费之后再过来……。而NR是统计AWK读入的记录数,awk每读取一条记录,首先比较一下user_id是否小于5,如果小于5的话,就跳过读取下一条记录,因此虽然跳过了,但是已经被awk读入了,只是执行了next以后就不执行next之后的处理代码了!
不知道我说明白了没有??你如果真是想实现我开始说的那个要求的话,可以给个变量进行计数,不要用NR!
首先:next的用法:强迫awk立刻停止处理当前的记录,而开始读取和处理下一条记录。更通俗一点讲:比如,你正在排队办理入学手续,人家看你还没交费,就next,下一个过来办,你先到财务交费之后再过来……。而NR是统计AWK读入的记录数,awk每读取一条记录,首先比较一下user_id是否小于5,如果小于5的话,就跳过读取下一条记录,因此虽然跳过了,但是已经被awk读入了,只是执行了next以后就不执行next之后的处理代码了!
不知道我说明白了没有??你如果真是想实现我开始说的那个要求的话,可以给个变量进行计数,不要用NR!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询