发新话题
打印

Awk各部分详解-正则表达式(8)

Awk各部分详解-正则表达式(8)

对于awk而言,正则表达式是置于两个正斜杠之间、由字符组成的模式。Awk支持使用正则表达式元字符对正则表达式进行某种方式修改。如果输入行中的某个字符串与正则表达式相匹配,则最终条件为真,于是执行与该表达式关联的所有操作。如果没有指定操作,则打印与正则表达式匹配的记录。

范例 3-15
[root@localhost script]# awk -F ':' '/root/' passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
### 解析 ###
如果记录中包含模式 root ,就会打印该行记录。

范例 3-16
[root@localhost script]# awk -F ':' '/root/{print $1,$3,$7}' passwd
root 0 /bin/bash
operator 11 /sbin/nologin
### 解析 ###
如果记录中包含模式 root ,就会打印该行记录的第1,第3,第7字段。

-Awk的正则表达式元字符

元字符

说明

^
在串首匹配

$
在串尾匹配

.
匹配单个任意字符

*
匹配零个或多个前导字符

+
匹配一个或多个前导字符



匹配零个或一个前导字符

[ABC]
匹配指定字符组(即ABC)中任一字符

[^ABC]
匹配任何一个不在指定字符组(即ABC)中的字符

[A-Z]
匹配AZ之间的任一字符

A|B
匹配AB
(AB)+
匹配一个或多个AB的组合,例如:ABABABABABAB
\*
匹配星号本身

&
用于替代串中,代表查找串中匹配到的内容

-Awk不支持的元字符

元字符

说明

\<>/
单词定位

\(\)
向前引用

\{\}
重复



№→  Learning 《Perl Programming》

TOP

发新话题
版块跳转 
Powered by Discuz! 6.1.0 © 2001-2007 Comsenz Inc.
---------------------------------------------------------------------------------------
本论坛所有文章为会员所发布,会员拥有该内容的所有权力及责任,转载时请注明出处!
站务管理员:我心飞翔 QQ:12012805(请直奔主题) 有害信息举报电话 15914350818
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触和有损学校声誉不属实的言论!
粤ICP备06054096号 茂名市公安局网警支队备案: 4409813060501

Processed in 0.065764 second(s), 9 queries, Gzip enabled.