有ftp 的打印出来
[root@localhost ~]# cat /etc/passwd | awk '/ftp/'
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@localhost ~]# cat /etc/passwd | awk '/ftp/{print}'
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
输出第一个字段为root的行
[root@localhost ~]# cat /etc/passwd |awk '/^root/'
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# cat /etc/passwd |awk -F ":" '$1=="root" {print}'
root:x:0:0:root:/root:/bin/bash
打印最后一个字段为/sbin/halt
[root@localhost ~]# cat /etc/passwd |awk -F ":" '$NF=="/sbin/halt" {print $1}'
halt
if else
[root@localhost ~]# awk -F ":" '{if($1== "root") print $1;else print $2}' /etc/passwd
root
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
计算十个数的和
[root@localhost ~]# seq 10 | awk '{sum+=$0}END{print sum}'
55
统计销售金额
[root@localhost ~]# awk 'BEGIN{FS=":";print"统计销售金额";total=0}' js.txt #返回值
统计销售金额
[root@localhost ~]# cat js.txt
第一件:400.00
第二件:500.00
第三件:600.00
[root@localhost ~]# awk 'BEGIN{FS=":";print"统计销售金额";total=0} {print $2;total=total+$2} END {printf "销售金额总计:%.2f\n",total}' js.txt
统计销售金额
400.00
500.00
600.00
销售金额总计:1500.00
[root@localhost ~]# wg=(h j d)
[root@localhost ~]# echo ${wg[@]} #输出所有
h j d
[root@localhost ~]# echo ${wg[*]} #输出所有
h j d
[root@localhost ~]# echo ${#wg[*]} #输出数量
3
[root@localhost ~]# echo ${#wg[@]} #输出数量
3
输出索引值
[root@localhost ~]# awk 'BEGIN{wg[0]="h";wg[1]="j";wg[2]="d";print wg[2]}'
d
打印数组下标
[root@localhost ~]# awk 'BEGIN{wg[0]="h";wg[1]="j";wg[2]="d";for(i in wg)print i}'
0
1
2
打印所有
[root@localhost ~]# awk 'BEGIN{wg[0]="h";wg[1]="j";wg[2]="d";for(i in wg)print wg[i]}'
h
j
d
[root@localhost scripts]# awk '{ip[$1]} END {for (i in ip) print i}' /var/log/httpd/access_log
192.168.88.1
::1
192.168.88.88
[root@localhost scripts]# awk '{ip[$1]++} END {for (i in ip) print i,ip[i]}' /var/log/httpd/access_log
192.168.88.1 10
::1 2
192.168.88.88 1000