POSIX字符类
POSIX(the Portable Operating System Interface,可移植操作系统接口)是一种工业标准,确保程序可以跨操作系统移植。为了保证可移植,POSIX可以识别字符、阿拉伯数字和符号在不同国家或不同场合的编码方法,以及时间和日期的不同表示。为了处理不同类型的字符,POSIX增加了基本的和扩展的正则表达式。
POSIX增加的括号字符类
括号类
| 含义
|
[:alnum:]
| 字母数字字符
|
[:alpha:]
| 字母字符
|
[:cntrl:]
| 控制字符
|
[:digit:]
| 数字字符
|
[:graph:]
| 非空白字符(非空格、控制字符等)
|
[:lower:]
| 小写字母
|
[:print:]
| 与[:graph:]相似,但是包含空格字符
|
[:punct:]
| 标点字符
|
[:space:]
| 所有的空白字符(换行符、空格、制表符)
|
[:upper:]
| 大写字母
|
[:xdigit:]
| 允许十六进制的数字(0-9a-fA-F)
|
在类中,[:alnum:]是另一种表示A-Z、a-z和0-9的形式,使用这种类时,必须要用另外一个方括号括起来,例如“A-Za-z0-9”本身不是正则表达式,而[A-Za-z0-9]才是正则表达式。所以[:alnum:]要写成[[:alnum:]]才是正则表达式。
范例 3-21
[root@localhost script]# awk -F ':' '/^[[:lower:]]+t/' passwd
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash
ntp:x:38:38::/etc/ntp:/sbin/nologin
htt:x:100:101:IIIMF Htt:/usr/lib/im:/sbin/nologin
test:x:501:501::/home/test:/bin/bash
### 解析 ###
显示以一个或多个小写字母开头,后面跟着一个字母“t”的所有行。
|