一、取出/etc/passwd文件中shell出现的次数
问题:下面是一个/etc/passwd文件的部分内容。题目要求取出shell并统计次数,shell是指后面的/bin/bash,/sbin/nologin等,如下面/bin/bash出现4次,/sbin/nologin出现22次。
/bin/bash /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /bin/sync /sbin/shutdown /sbin/halt /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /bin/bash /bin/bash /bin/bash
代码1:
#cut -f7 -d: /etc/passwd|awk '{count[$1]++} END{ for (i in count) {printf("%s\t%d\n",i,count[i]);} }' /sbin/shutdown 1 /bin/bash 4 /sbin/nologin 22 /sbin/halt 1 /bin/sync 1
代码2:
#cat /etc/passwd|awk -F: '{print $7}'|sort|uniq -c 4 /bin/bash 1 /bin/sync 1 /sbin/halt 22 /sbin/nologin 1 /sbin/shutdown