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