Shell脚本之正式表达式1

上一篇 / 下一篇  2012-09-26 14:39:16

 

正则表达式

    1.grep匹配/etc/services文件中以ftp字符串开头的哪些文本行

grep   ‘^ftp’ /etc/services

 

    2.grep匹配以system文本结尾的行。

       grep   ‘system$’  file

 

    3.grep匹配仅包含一个#字符的行。

       grep   ‘^#$’  file

 

    4.grep匹配以<abc>或者[abc]开头的行

       grep   ‘[[<]abc[]>]’ file

 

    5.grep匹配以Ftp或者ftp开头的行

       grep   ‘^[Ff]tp’  file

 

    6.grep匹配F或者f以外的字符

       grep   ‘[^Ff]’    file

 

    7.grep匹配除大写字符以外的字符

       grep   ‘[^A-Z]’   file

 

    8.grep匹配以ftp或telnet开头的文本行

       grep   -E ‘^ftp|^telnet’ file

 

    9.grep匹配以ftp开头,后跟0个或多个-agent的文本行

        grep   ‘^ftp(-agent)?’   /etc/services

或  grep   ‘^ftp(-agent)*’   /etc/services

注:

    a)在sco unix下,上面的单括号前要加转义符\

    b)在sun os 5.8下,不论加不加单括号均不支持。

 

    10.grep匹配以ftp开头,后跟1个或多个-agent的文本行

       grep   ‘^ftp(-agent)+’   /etc/services

       说明同上。

 

    11.grep匹配带有数字6,后跟至少3个0的文本行(使用-E启用边界特性)

       grep   -E  ‘60\{3,\}’ /etc/services

 

    12.grep匹配含有(abc)的文本

       grep   ‘\(abc\)’  file

 

    13.常用正则表达式举例

正则表达式

匹配功能

^[the]

the开头行

[Ss]igna[lL]

匹配单词signal,signaL,Signal,SignaL

[Ss]igna[lL]\.

同上,但加一个句点

[mayMAY]

 

^USER$

只包含USER的行

[tty]$

tty结尾的行

\.

带句点的行

^d..x..x..x

对用户、用户组及其它用户组成员有可执行权限的目录

^[^l]

排除关联目录的目录列表

[.*0]

0之前或之后加任意字符

[000*]

000或更多个

[iI]

大写或小写I

[iI][nN]

大写或小写In

[^$]

空行

[^.*$]

匹配行中任意字符

^……$

包括6各字符的行

[a-zA-Z]

任意单字符

[a-z][a-z]*

至少两个小写字母

[^0-9\$]

非数字或美元表示

[^0-9A-Za-z]

非数字或字母

[123]

13中的一个数字


TAG:

 

评分:0

我来说两句

Open Toolbar