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] | 大写或小写I或n |
[^$] | 空行 |
[^.*$] | 匹配行中任意字符 |
^……$ | 包括6各字符的行 |
[a-zA-Z] | 任意单字符 |
[a-z][a-z]* | 至少两个小写字母 |
[^0-9\$] | 非数字或美元表示 |
[^0-9A-Za-z] | 非数字或字母 |
[123] | 1到3中的一个数字 |
收藏
举报
TAG: