首先,瞭解awk的運行格式bash
awk '條件類型1{動做1} 條件類型2{動做2} ...' filenamespa
1.server
[root@server3 mnt]# cat passwd awk
root x 0 0 root /root /bin/bash變量
bin x 1 1 bin /bin /sbin/nologinfile
daemon x 2 2 daemon /sbin /sbin/nologin數據
adm x 3 4 adm /var/adm /sbin/nologinco
lp x 4 7 lp /var/spool/lpd /sbin/nologinsync
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 "\t lines: " NR "\tcolumes: " 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的邏輯運算符
運算符 表明意義
> 大於
< 小於
>= 大於或等於
<= 小於或等於
== 等於
!= 不等於