一、awk工作原理(作用:截取)
~ 根据模式模糊匹配(只能多不能少)
例:
[root@localhost lianxi]# awk -F: '$1 ~ /[0-9]$/ && $3>1009 {print $1,$7,$3}' /etc/passwd
== 精准匹配(不能多也不能少)
例:
[root@localhost lianxi]# awk -F: '$1 == "feng1" && $3>1009 {print $1,$7,$3}' /etc/passwd
feng1 /bin/bash 1012
二、awk完整语法
awk -F 分隔符 'BEGIN{commands} pattern{commands}END{commands}' file
基本语法
awk -F 分隔符 '/模式/{动作}' file
三、分隔符
-F 指定分隔符
FS 输入分隔符
OFS 输出分隔符
例:
[root@localhost lianxi]# awk -F: 'OFS="#" {print $1,$3}' /etc/passwd
root#0
bin#1
daemon#2
adm#3
lp#4
四、常用内置变量
NR 表示行号
[root@localhost ~]# awk -F: 'NR>=5&&NR<=10{print NR,$1}' /etc/passwd
5 lp
6 sync
7 shutdown
8 halt
9 mail
10 operator
NF 表示字节段
[root@localhost ~]# awk -F: '{print $(NF-1)}' /etc/passwd
/root
/bin
/sbin
/var/adm
FS