awk练习

时间:2023-03-09 04:04:35
awk练习

首先,了解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 "\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的逻辑运算符

运算符          代表意义

>           大于

<           小于

>=          大于或等于

<=          小于或等于

==          等于

!=          不等于