Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1492007
  • 博文数量: 263
  • 博客积分: 10851
  • 博客等级: 上将
  • 技术积分: 2627
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-26 22:40
文章分类

全部博文(263)

文章存档

2013年(4)

2012年(25)

2011年(33)

2010年(50)

2009年(138)

2008年(13)

分类: LINUX

2011-07-07 10:28:32

最近在使用awk正则表达式的时候, 发现不能直接使用{n}来重复前面的字符, 让哥很郁闷! 不过觉得不应该啊, awk不会这么水的嘛, 呵呵, 所以就仔细的man了一把, 发现了--re-interval选项来支持{}的方式来重复匹配。
另外, 在不加--re-interval的情况下, 如 +/*/?这样的重复匹配, awk还是支持的。
 
下面摘自《ABS》, 例子自己举的 ^_^
使用大括号形式的RE是不能够在"经典"(非POSIX兼容)的awk版本中正常运行的.  
比如:
$ echo "hello world, 0123456789" | awk '/[0-9]{10}$/'    # 不匹配
$
然而, gawk命令中有一个--re-interval选项, 使用这个选项就允许使用大括号形式的RE了。
$ echo "hello world, 0123456789" | awk --re-interval '/[0-9]{10}$/'
hello world, 0123456789
$
 
阅读(983) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~