$awk -F ":" 'BEGIN{count=0}{if($3>100) name[count++]=$3}END{for (i=0;i<count;i++) print i,name[i]}' passwd打印UID大于3的用户名,存到数组里
awk拓展应用:对passwd中的账户总人数进行统计,注意不要统计空行
$awk -F ":" 'BEGIN{count=0}$1!~/^$/{count++}END{print "count="count}' passwdcount=48
$1!~/^$/
awk拓展应用:对当前文件夹下文件大小总和进行统计
$ls -l|awk 'BEGIN{size=0}{size+=$5}END{print "size is "size/1024/1024"M"}'size is 93.2972M
## 计算当前目录总大小
ll | awk 'BEGIN{size=0} {size+=$5} END{printf("%s, size %s M\n", FILENAME, size/1024/1024)}'
## 统计有效的用户 删除空行
awk -F ';' 'BEGIN{count=0} $0!~/^$/{count++} END{print "user count:", count}' passwd
## 统计uid > 1000的用户列表
awk -F ';' 'BEGIN{count=0} $3>1000{users[count++]=$1} END{for(i in users)print(users[i])}' passwd
## 统计netstat -nap CONNECTED&LISTENING总数
netstat -nap | awk 'BEGIN{count=0} $6~/CONNECT|LISTEN/{list[$6]++} END{for (i in list) print(i, list[i])}'
## 总计netstat -nap CONNECTED&LISTENING的Program name
netstat -nap | awk 'BEGIN{count=0} $6~/CONNECT|LISTEN/{list[count++]=$8} END{for (i in list) print(list[i])}'
连接数量q'w
netstat -anp | awk '$6~/'CONNECTED|LISTEN/{sum[$6]++}END{for(i in sum )} print i ,sum[i]}'
awk -F ':' 'BEGIN{count=0}{if($3 > 100) name[count++]=$1}END{for (i=0;i<count;i++)print i,name[i]}' passwd
统计显示UID大于100的用户名
统计passwd的账户总人数
awk -F ':' 'BEGIN{count=0}$1!~/^$/{count++}END{print "count = " count }' /etc/passwd
统计当前文件夹下的文件/文件夹 占用的大小
ls -l | awk 'BEGIN{size=0}{size+=$5}END{print " size is : "size/1024/1024"M"} '
ls -l|awk 'BEGIN{size=0}{size+=$5}END{print "size is:"size/1024/1024"M"}'定义变量统计当前目录下的文件/目录占用的大小;awk -F ':' 'BEGIN{count=0}{if($3>100)name[count++]=$1}END{for (i=0;i<count;i++) print i,name[i]}' passwd统计显示/etc/passwd的账户总人数,用数组存用户名再循环打印;netstat -anp|awk '$6~/CONNECTED/{sum[$6]++}$7~/LISTENING/{sum[$7]++}END{for(i in sum) print i,sum[i]}'统计连接数