1#
大 中
小 发表于 2008-4-22 02:23 只看该作者
Awk各部分详解-正则表达式(9)
● 匹配整行
如果没有指定操作,则单个正则表达式将对整行进行模式匹配,并打印出所匹配的行。可以使用元字符来表示需要进行匹配的正则表达式。
范例 3-17
[root@localhost script]# awk -F ':' '/^root/' passwd
root:x:0:0:root:/root:/bin/bash
### 解析 ###
如果记录中包含以模式 root开头的行
,则打印该行记录。
范例 3-18
[root@localhost script]# awk -F ':' '/^ro+/' passwd
root:x:0:0:root:/root:/bin/bash
### 解析 ###
显示文件passwd以小写字母r开头的,后跟着一个或多个小写字母o的行。
|
● 匹配操作符
匹配操作符(~)用于对记录或字段的表达式进行匹配。
范例 3-19
[root@localhost script]# awk -F ':' '$1 ~ /[Mm]ysql/' passwd
mysql:x:503:503::/home/mysql:/bin/bash
### 解析 ###
显示所有第1字段里匹配mysql或Mysql的行。
范例 3-20
[root@localhost script]# awk -F ':' '$7 !~ /nologin/' passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
news:x:9:13:news:/etc/news:
netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash
sioa:x:500:500::/home/sioa:/bin/bash
test:x:501:501::/home/test:/bin/bash
hexin:x:502:502::/home/hexin:/bin/bash
mysql:x:503:503::/home/mysql:/bin/bash
### 解析 ###
显示所有第7字段里没有匹配nologin的行。
|
№→ Learning 《Perl Programming》
|