#默认awk使用空格分隔
$ ps | awk ‘{print $1 $2}’
#使用指定分隔符进行分隔
$ awk -F “:” ‘{print $1}’ /etc/passwd
#打印多列信息,自定义分隔符
$ awk -F “:” ‘{print $1,$2,$5,$6}’ /etc/passwd
$ awk -F “:” ‘{print $1"—"$6}’ /etc/passwd
#示例,批量启停docker容器
$ docker ps -a | awk ‘{print $1}’ | tail -n +2 | xargs docker stop
$ docker ps -a | awk ‘{print $1}’ | tail -n +2 | xargs docker start
#获取指定分隔符最后一列信息,匹配信息中间支持格式匹配,结果唯一性处理,uniq只会处理相邻行的重复记录,故需使用sort排个序
$ awk -F “/” ‘/^// {print $NF}’ /etc/shells | sort | uniq
#awk的一些函数,length/substr/match
$ awk ‘length($0) > 5’ /etc/shells
$ awk ‘{if($0 ==“bin/bash”) print $0}’ /etc/shells
$ awk ‘BEGIN{for(i=1;i<=10;i++) print “数字”,i,“的平方为”,i*i}’
$ ps -a | awk ‘{print substr($1,2)}’
$ docker ps | awk ‘match($NF,/^test/) {print NR,$NF}’