Chinaunix首页 | 论坛 | 博客
  • 博客访问: 487458
  • 博文数量: 173
  • 博客积分: 4112
  • 博客等级: 上校
  • 技术积分: 1577
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-26 10:12
文章分类

全部博文(173)

文章存档

2012年(1)

2010年(172)

我的朋友

分类:

2010-03-25 19:57:32

str="uid=100(guest) gid=100(others) groups=10(users),11(floppy)"
取guest  others  users  floppy
正则表达式是有贪婪性的,它总是与最长的可能长度匹配,而且越是排在前面的通配符优先级越高。
 
#!/bin/bash
stra="uid=100(guest) gid=100(others) groups=10(users),11(floppy)"
strb="uid=100(guest)gid=100(others)groups=10(users),11(floppy)"
 
#floppy
echo $stra |sed 's/.*(\(.*\)).*/\1/'
echo $stra |awk '{a=substr($3,length($3)-6,6); b=substr($3,1,6); c=length($3);print a,b,c}'
#guest
echo $stra |sed 's/[^(]*(\([^)]*\)).*/\1/'
echo $stra |awk '{a=gensub(/.*\((.*)\)/," a}'
#others
echo $stra |sed 's/users\|others/***&***/g'
echo $stra |sed 's/[^(]*([^)]*)[^(]*(\([^)]*\)).*/\1/'
echo $stra |sed 's/[^ ]*[ ][^(]*(\([^)]*\)).*/\1/'
#users
echo $stra |sed 's/.*[ ][^(]*(\([^)]*\)).*/\1/'
echo $stra |awk '{a=gensub(/[^(]*\(([^)]*).*/," a}'
阅读(1440) | 评论(0) | 转发(0) |
0

上一篇:SMTP rfc821

下一篇:Shell语句 Case

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