Chinaunix首页 | 论坛 | 博客
  • 博客访问: 988417
  • 博文数量: 200
  • 博客积分: 5011
  • 博客等级: 大校
  • 技术积分: 2479
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-27 15:07
文章分类

全部博文(200)

文章存档

2009年(12)

2008年(190)

我的朋友

分类:

2008-07-10 11:26:25

sed的模式匹配
在linux中,sed命令很有用,因此你也必须学会使用sed,在网上有很多地方介绍sed,大家可以在网上彻头彻尾的好好学习sed的具体使用。在Makefile中你会看到如下的代码
HOSTARCH:=$(shell uname -m | \
       sed -e s/i.86/i386/ \
             -e s/sun4u/sparc64/ \
             -e s/arm.*/arm/)
在 上面的例子中-e表示在一行中执行多个sed命令,s表示用后面的信息替换前面的信息.例如s/sun4u/sparc64/表示sum4u替换成 sparc64,在上面的例子中就表示将当前的uname -m中的信息替换进行替换,如果是i后面有一个字符,然后有86的信息(i686)替换成i386或者如果有arm的信息替换成arm.

如下的信息是网上摘下的:
锚定行的开始 如:/^sed/匹配所有以sed开头的行。
$

锚定行的结束 如:/sed$/匹配所有以sed结尾的行。
.

匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。
*

匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
[]

匹配一个指定范围内的字符,如/[Ss]ed/匹配sed和Sed。
[^]

匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
\(..\)

保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers。
&

保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。
\<

锚定单词的开始,如:/\\>

锚定单词的结束,如/love\>/匹配包含以love结尾的单词的行。
x\{m\}

重复字符x,m次,如:/0\{5\}/匹配包含5个o的行。
x\{m,\}

重复字符x,至少m次,如:/o\{5,\}/匹配至少有5个o的行。
x\{m,n\}

重复字符x,至少m次,不多于n次,如:/o\{5,10\}/匹配5--10个o的行。
阅读(8798) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~