免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4326 | 回复: 15
打印 上一主题 下一主题

请问awk和sed支持的正则表达式区别。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-22 11:37 |只看该作者 |倒序浏览
要匹配4个字母  sed里面可以用 /[a-zA-Z]\{4\}/匹配
awk下用就没反应。 awk是不是不支持 a\{m\}这个m次重复a  ??
那在awk下有没有别的取代的表达, 不会只能重复4次吧 [a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
2 [报告]
发表于 2008-11-22 11:47 |只看该作者
加上参数--posix

论坛徽章:
0
3 [报告]
发表于 2008-11-22 11:56 |只看该作者
file文件是这种格式
Mike Harrington510) 548-1278:250:100:175
要求打印只有4个字母的姓。

nawk --posix -F"[ :]" '$2~/[a-zA-Z]\{4\}/{print $2}'  file
提示找不到--posix参数。
我用的debian etch系统。

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
4 [报告]
发表于 2008-11-22 12:01 |只看该作者

回复 #3 listen1001 的帖子

nawk没用过 不熟悉
apt-get install gawk  就会有--posix 支持 数量字符匹配

论坛徽章:
0
5 [报告]
发表于 2008-11-22 12:46 |只看该作者
原帖由 biglazybug 于 2008-11-22 12:01 发表
nawk没用过 不熟悉
apt-get install gawk  就会有--posix 支持 数量字符匹配

学习了

论坛徽章:
0
6 [报告]
发表于 2008-11-22 14:52 |只看该作者
原帖由 biglazybug 于 2008-11-22 12:01 发表
nawk没用过 不熟悉
apt-get install gawk  就会有--posix 支持 数量字符匹配


不错。

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
7 [报告]
发表于 2008-11-22 15:10 |只看该作者

回复 #6 yezhulin1982 的帖子

哈哈 这是不久前Tim大侠教我的

论坛徽章:
0
8 [报告]
发表于 2008-11-22 16:07 |只看该作者
gawk --posix -F"[ :]" '$2~/^[A-Za-z]{4}$/{print $2}' file
搞定了,{4} 连转义符都不用打了,多谢

论坛徽章:
0
9 [报告]
发表于 2008-11-22 20:31 |只看该作者
sed 用的 RE 是 BRE , 如果要用 ERE 的话要加上-e 参数
awk 用的 RE 是 ERE ,所以也就不需要用 \ 转义了

谢谢楼下的提醒,不是-e ,是-r

[ 本帖最后由 xwmhmily 于 2008-11-29 20:05 编辑 ]

评分

参与人数 1可用积分 +5 收起 理由
寂寞烈火 + 5 我很赞同

查看全部评分

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
10 [报告]
发表于 2008-11-22 21:05 |只看该作者
原帖由 xwmhmily 于 2008-11-22 20:31 发表
sed 用的 RE 是 BRE , 如果要用 ERE 的话要加上-e 参数
awk 用的 RE 是 ERE ,所以也就不需要用 \ 转义了

说的是-r吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP