Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16242
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 133
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-06 09:49
文章分类
文章存档

2014年(7)

我的朋友

分类: LINUX

2014-03-06 16:51:54

    由于很多 Linux Shell 编程的工具和命令普遍使用了正则表达式,如 grep、sed、awk 等,因此,必须熟练的掌握正则表达式。

正则表达式:
    1>       *                  0个或多个在*字符之前的那个普通字符
    2>       .                   匹配任意字符
    3>       ^                 匹配行首,或后面字符的非
    4>       $                  匹配行尾
    5>       []                 匹配字符集合
    6>       \                   转义符,屏蔽一个元字符的特殊意义
    7>       \ <\>            精确匹配符号
    8>       \{n\}            匹配前面字符出现n次
    9>       \{n,\}           匹配前面字符至少出现n次
    10>     \{n,m\}        匹配前面字符出现n~m次
    11>     ?                  匹配0个或1个在其之前的那个字符
    12>     +                 匹配1个或多个在其之前的那个普通字符
    13>     ()                 表示一个字符集合或用在expr中
    14>     |                  表示“或”,匹配一组可选的字符


shell常见通配符:

字符 含义 实例
* 匹配 0 或多个字符 a*b  a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
? 匹配任意一个字符 a?b  a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
[list]  匹配 list 中的任意单一字符 a[xyz]b   a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。
[!list]  匹配 除list 中的任意单一字符 a[!0-9]b  a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] a[0-9]b  0与9之间必须也只能有一个字符 如a0b, a1b... a9b。
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串 a{abc,xyz,123}b  a与b之间只能是abc或xyz或123这三个字符串之一。

网上有比我总结更好的文章,我转载过来了,连接地址:http://www.cnblogs.com/chengmo/archive/2010/10/17/1853344.html

Linux Shell 通配符、元字符、转义符使用实例介绍 - 程默 - 博客园.txt (将TXT 改成 .html文件)

阅读(876) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

啦哆A梦2014-03-07 10:22:35

学习了