最近在使用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
$
阅读(979) | 评论(0) | 转发(0) |