awk作为linux字符搜索,结果统计的实用工具,其在linux日常运维中有着很多的巧妙运用。下面就来技术一下刚刚学到的技巧
#awk命令统计文件夹下所有文件大小 ls -l |awk 'BEGIN {dd=0;}{dd=dd+$5;} END {print "总大小为:"dd/1024/1024"M"}' #统计passwd用户数 awk 'BEGIN {count=0;print "[start]user count is ", count} {count=count+1;print $0;} END{print "[end]user count is ", count}' /etc/passwd #查询用户名和对应的shell,并且添加自定义列明,结尾添加新值 cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}' #访问制定文件,通过制定分隔符,显示制定列的内容,最今本的用法 #cat 文件名 |awk -F '特定的分隔符,默认是空格' '{print 指的列,通常为数字,比如$2}' 例子: cat /etc/passwd |awk -F ':' '{print $1}' $0,$1,$2以此类推,$0是显示整行内容