第一种模式匹配:RegExp(正则表达式)
第二种模式匹配: 关系运算符匹配
用法格式对照表
语法格式 含义
RegExp 按照正则表达式匹配
关系运算 案关系运算匹配
第一种:
示例:
pattern变量为root的字段 并进行整行输出
$ awk 'BEGIN{FS=":"}/root/{print $0}' passwd
root:x:0:0:root:/root:/bin/bash
输出以chencl开头的行
$ awk 'BEGIN{FS=":"}/^chencl/{print $0}' passwd
chencl:x:1000:1000:chencl,,,:/home/chencl:/bin/bash
第二种
关系运算符匹配
< 小于
> 大于
<= 小于等于
>= 大于等于
== 等于
!= 不等于
~ 匹配正则表达式
!~ 不匹配正则表达式
|| 或
&& 与
! 非
示例:
UID小于50的整行输出
$ awk 'BEGIN{FS=":"}$3<50{print $0}' passwd
root:x:0:0:root:/root:/bin/bash
UID等于1的整行输出
$ awk 'BEGIN{FS=":"}$3==1{print $0}' passwd
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
字符串比较
$ awk 'BEGIN{FS=":"}$1=="chencl"{print $0}' passwd
chencl:x:1000:1000:chencl,,,:/home/chencl:/bin/bash
不等于
$ awk 'BEGIN{FS=":"}$7!="/bin/bash"{print $0}' passwd
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
~后面跟正则表达式 格式 / 正则表达式/
$ awk 'BEGIN{FS=":"} $1~/root/{print $0}' passwd
root:x:0:0:root:/root:/bin/bash
||运算符
$ awk 'BEGIN{FS=":"}$1=="root"||$1=="chencl"{print $0}' passwd
root:x:0:0:root:/root:/bin/bash
chencl:x:1000:1000:chencl,,,:/home/chencl:/bin/bash
&&运算符
$ awk 'BEGIN{FS=":"}$3==1000 && $1=="chencl"{print $0}' passwd
chencl:x:1000:1000:chencl,,,:/home/chencl:/bin/bash