首先,了解awk的运行格式
awk '条件类型1{动作1} 条件类型2{动作2} ...' filename
1.
[root@server3 mnt]# cat passwd
root x 0 0 root /root /bin/bash
bin x 1 1 bin /bin /sbin/nologin
daemon x 2 2 daemon /sbin /sbin/nologin
adm x 3 4 adm /var/adm /sbin/nologin
lp x 4 7 lp /var/spool/lpd /sbin/nologin
sync x 5 0 sync /sbin /bin/sync
shutdown x 6 0 shutdown /sbin /sbin/shutdown
[root@server3 mnt]# cat passwd | awk '{print $1,$3}'
root 0
bin 1
daemon 2
adm 3
lp 4
sync 5
shutdown 6
[root@server3 mnt]#
2.awk的内置变量
变量名称 代表意义
NF 每一行($0)拥有的字段总数
NR 目前awk所处理的是地即行的数据
FS 目前的分隔字符,默认是空格健
列出每一行的用户名,列出目前处理的行数,说明该字行有多少字段
[root@server3 mnt]# cat passwd | awk '{print $1 " lines: " NR " columes: " NF}'
root lines: 1 columes: 7
bin lines: 2 columes: 7
daemon lines: 3 columes: 7
adm lines: 4 columes: 7
lp lines: 5 columes: 7
sync lines: 6 columes: 7
shutdown lines: 7 columes: 7
3.awk的逻辑运算符
运算符 代表意义
> 大于
< 小于
>= 大于或等于
<= 小于或等于
== 等于
!= 不等于