Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35425
  • 博文数量: 3
  • 博客积分: 1411
  • 博客等级: 上尉
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-21 13:15
文章分类

全部博文(3)

文章存档

2009年(3)

我的朋友

分类: LINUX

2009-04-21 13:25:37

如何用Sed和正则表达式提取子字符串
现在有如下一串字符串:
    "asdfkjasldjkf"shiner"df
 
需求:
     需要提取出shiner子字符串。
 
命令如下:
[root@localhost /]$  echo "asdfkjasldjkf\"shiner\"df" | sed 's/\(.*\)"\(.*\)"\(.*\)/\2/g'
shiner
命令解释
s: 表示替换命令
\(.*\)" : 表示第一个引号前的内容
"\(.*\)":表示两引号之间的内容
)"\(.*\):表示引号后的内容
\2: 表示第二对括号里面的内容
括号里的表达式匹配的内容,可以用\1,\2等进行引用,第n个括号对内的内容,就用\n引用。
 
这个命令的意思是:
用\2代表的第二个括号的内容(shiner)去替换整个字符串,这样就得到了我们所需要的子字符串了。
阅读(22565) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:Linux 内核内存映射和访问问题(精华贴)

给主人留下些什么吧!~~

haoshuang33942011-12-15 15:29:21

不错的解决办法